Modernize project: Use pyproject.toml, uv package manager, update Python support, and revise examples #38
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.
This pull request modernizes the aiocron project with several significant changes:
Package management and build system:
pyproject.toml
for project configuration and dependency management.astral-sh/uv
as the package manager, replacingpip
andvirtualenv
.Pipfile
andPipfile.lock
in favor ofpyproject.toml
anduv.lock
.setup.py
andsetup.cfg
, consolidating configuration inpyproject.toml
.Python version support:
pyproject.toml
to reflect new Python version support.CI/CD updates:
tox.yml
) to useuv
for dependency installation and test running.Project structure and configuration:
MANIFEST.in
file..gitignore
to includeuv
-related entries.Dependency updates:
pytest
,coverage
, etc.).tox
andtox-uv
as project dependencies.Code changes:
aiocron/__init__.py
and other files.Testing:
tox
configuration inpyproject.toml
to useuv-venv-lock-runner
.Documentation:
Example updates:
simple.py
andthreaded.py
) to use modern async/await syntax.New files added:
pyproject.toml
uv.lock
Files removed:
setup.py
setup.cfg
Pipfile
Pipfile.lock
tox.ini
(content moved topyproject.toml
)Files updated:
examples/simple.py
examples/threaded.py
These changes modernize the project's infrastructure, potentially improving build times and dependency management while ensuring compatibility with newer Python versions. The shift to
pyproject.toml
anduv
aligns the project with current Python packaging best practices. The updated examples demonstrate the correct usage of aiocron with modern Python async features.Reviewers should pay special attention to the Python version changes, ensuring that no critical functionality is lost by dropping 3.7 and 3.8 support. Additionally, the new
uv
-based workflow should be thoroughly tested to ensure it works as expected across all supported Python versions. The revised examples should be reviewed to confirm they accurately represent the intended usage of aiocron.