Skip to content

Conversation

@nathonfowlie
Copy link
Collaborator

@nathonfowlie nathonfowlie commented May 14, 2023

!!! BREAKING CHANGE !!!

app.py no longer exists, use the rybo command. This PR needs to be tested thoroughly to ensure it hasn't broken existing bot behaviour. I've tested in my local environment and everything seems good, but will feel better if others are able to test as well.

We need to look at setting up proper unit/functional tests once the GH workflows are running smoothly...

Summary

Major change to allow the bot to be distributed as a pip package.

  • app.py has been removed and replaced with a CLI utility called 'rybo'.

  • Existing video generation, TTS and Reddit post processing logic has been left as is, however now sits inside the CLI.

  • Removed auth.py, as credentials are now passed via environment variables or a YAML configuration file. The default expected
    location of the configuration file is ~/rybo.yaml. A sample configuration file has been included in the codebase.

  • ArgParse parameters updated to allow loading of configuration from the command line, a configuration file, or environment variables.

    The order of precendence for loading configuration options is:

    1. Configuration file
    2. Environment variables.
    3. CLI parameters.

    Configuration options provided as CLI parameters will override the same option provided as an environment variable, and the environment variable will override the same option provided in the configuration file.

  • Replaced all calls to "print" with module specific loggers to ensure consistent output and facilitate configurable logging
    behaviour.

  • Updated existing GitHub workflows to reflect the new expected environment variable names.

  • Updated the readme with instructions on how to use the new CLI.

refs:

Updated pyproject.toml so that the closest git tag is always used to set
the release version when the pip package is built.

refs:
  - resolves alexlaverty#80
Fixed configuration issues on the dev container that were
causing the postCreateCommand script to bomb out.

Once initialisation is complete, an editable version of the rybo
utility will be installed inside the devcontainer, and can be called
from the command line via `rybo`.

Also added additional features to support code quality/consistency.

refs:
  - resolves alexlaverty#81
Updated gitignore to ignore egg-info.
Major change to allow the bot to be distributed as a pip package.

app.py has been removed and replaced with a CLI utility called
'rybo'.

Existing video generation, TTS and Reddit post processing logic
has been left as is, however now sits inside the CLI.

Removed auth.py, as credentials are now passed via environment
variables or a YAML configuration file. The default expected
location of the configuration file is `~/rybo.yaml`. A
sample configuration file has been included in the codebase.

ArgParse parameters updated to allow loading of configuration
from the command line, a configuration file, or environment
variables.

The order of precendence for loading configuration options is:

1. Configuration file
2. Environment variables.
3. CLI parameters.

Configuration options provided as CLI parameters will override
the same option provided as an environment variable, and the
environment variable will override the same option provided in
the configuration file.

Replaced all calls to "print" with module specific loggers to
ensure consistent output and facilitate configurable logging
behaviour.

Updated existing GitHub workflows to reflect the new expected
environment variable names.

Updated the readme with instructions on how to use the new CLI.

BREAKING CHANGE: app.py no longer exists, use the `rybo` command.

refs:
  - resolves alexlaverty#82
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

improvement: add cli wrapper

1 participant