Infrastructure setup: CI/CD Integration, CLI tools, containerization, and more. #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
This pull request integrates a robust CI/CD pipeline using GitHub Actions, enhances the development experience with new CLI tools, adds critical configuration for versioning and dependencies, and containerizes the application for consistent deployment environments. The aim is to streamline development workflows, automate deployment processes, and ensure the application's scalability and maintainability.
List of Changes
click
for CLI operations,pre-commit
for git hooks, andpython-semantic-release
for automated version management.pyproject.toml
with configurations for new tools and dependencies.mh
CLI tool to streamline server-related operations such as starting the server.app
.Dockerfile
anddocker-compose.yml
to containerize the application, ensuring consistency across different environments..dockerignore
file to exclude unnecessary files from the Docker image.Linked Issues
There are no specific issues linked to this pull request. This is an initiative to enhance the overall infrastructure and development process.
How to Test
philip/feat/python-style-guide
branch.poetry install
.pre-commit install
to set up the Git hooks.mhcli
withmhcli server start app.main:app
to start the server and verify CLI functionality.docker compose build
and run the application withdocker compose up
to ensure the containerized environment is set up correctly.Additional Information
This PR includes a significant overhaul of the development and deployment processes to align with modern best practices for Python applications. It introduces tools and processes that automate many aspects of development, reduce potential errors, and ensure a high standard of code quality and deployment readiness.
Closes #7