Python package that group a lot of classes and functions that help software development.
- Python 3.7+
To use in your project, install pygemstones
module:
python3 -m pip install pygemstones
or:
poetry add pygemstones
And before call any pygemstones module, import system boostrap and call init
method:
from pygemstones.system import bootstrap
bootstrap.init()
There are several implemented modules for you to use:
- io.file
- io.net
- io.pack
- system.bootstrap
- system.platform
- system.runner
- system.settings
- type.list
- type.string
- util.log
- vendor.aws
These are the requirements for local development:
- Python 3.7+
- Poetry (https://python-poetry.org/)
You can install locally:
poetry install
Or can build and generate a package:
poetry build
poetry run pytest
poetry run pytest --cov=pygemstones --cov-report=html tests
Note: see coverage report in htmlcov/index.html
To run all linters use:
poetry run black --check pygemstones/
poetry run black --check tests/
poetry run mypy --ignore-missing-imports pygemstones/
poetry run mypy --ignore-missing-imports tests/
To build the package use:
poetry build
Set the token from your PyPI account with:
poetry config pypi-token.pypi [PyPI-Api-Access-Token]
And publish with:
poetry publish --build
To create a release for Github Action publish steps
create a tag and push. Example:
git tag v0.0.1
git push origin v0.0.1
After release action finish, publish the release on Github releases
page and Github Action will run publish steps
automatically.