GitHub - smarie/python-vtypes: Validating types for python - use isinstance()
to validate both type and value. (original) (raw)
python validating types (vtypes)
Validating types for python - use isinstance()
to validate both type and value.
TODO a few lines to describe
This is the readme for developers. The documentation for users is available here: https://smarie.github.io/python-vtypes/
Want to contribute ?
Contributions are welcome ! Simply fork this project on github, commit your contributions, and create pull requests.
Here is a non-exhaustive list of interesting open topics: https://github.com/smarie/python-vtypes/issues
Installing all requirements
In order to install all requirements, including those for tests and packaging, use the following command:
pip install -r ci_tools/requirements-pip.txt
Running the tests
This project uses pytest
.
Packaging
This project uses setuptools_scm
to synchronise the version number. Therefore the following command should be used for development snapshots as well as official releases:
python setup.py egg_info bdist_wheel rotate -m.whl -k3
Generating the documentation page
This project uses mkdocs
to generate its documentation page. Therefore building a local copy of the doc page may be done using:
mkdocs build -f docs/mkdocs.yml
Generating the test reports
The following commands generate the html test report and the associated badge.
pytest --junitxml=junit.xml -v vtypes/tests/ ant -f ci_tools/generate-junit-html.xml python ci_tools/generate-junit-badge.py
PyPI Releasing memo
This project is now automatically deployed to PyPI when a tag is created. Anyway, for manual deployment we can use:
twine upload dist/* -r pypitest twine upload dist/*
Merging pull requests with edits - memo
Ax explained in github ('get commandline instructions'):
git checkout -b - master git pull https://github.com//python-vtypes.git --no-commit --ff-only
if the second step does not work, do a normal auto-merge (do not use rebase!):
git pull https://github.com//python-vtypes.git --no-commit
Finally review the changes, possibly perform some modifications, and commit.