Skip to content

Validating types for python - use `isinstance()` to validate both type and value.

License

Notifications You must be signed in to change notification settings

smarie/python-vtypes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python validating types (vtypes)

Validating types for python - use isinstance() to validate both type and value.

Python versions Build Status Tests Status codecov

Documentation PyPI Downloads Downloads per week GitHub stars

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.

pytest -v vtypes/tests/

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 <git_name>-<feature_branch> master
git pull https://github.com/<git_name>/python-vtypes.git <feature_branch> --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/<git_name>/python-vtypes.git <feature_branch> --no-commit

Finally review the changes, possibly perform some modifications, and commit.