Small library to dynamically create python functions.
Project description
# python-makefun
Small library to dynamically create python functions.
[![Build Status](https://travis-ci.org/smarie/python-makefun.svg?branch=master)](https://travis-ci.org/smarie/python-makefun) [![Tests Status](https://smarie.github.io/python-makefun/junit/junit-badge.svg?dummy=8484744)](https://smarie.github.io/python-makefun/junit/report.html) [![codecov](https://codecov.io/gh/smarie/python-makefun/branch/master/graph/badge.svg)](https://codecov.io/gh/smarie/python-makefun) [![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://smarie.github.io/python-makefun/) [![PyPI](https://img.shields.io/badge/PyPI-makefun-blue.svg)](https://pypi.python.org/pypi/makefun/)
This is the readme for developers. The documentation for users is available here: [https://smarie.github.io/python-makefun/](https://smarie.github.io/python-makefun/)
## 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-makefun/issues](https://github.com/smarie/python-makefun/issues)
## Running the tests
This project uses pytest.
`bash pytest -v makefun/tests/ `
You may need to install requirements for setup beforehand, using
`bash pip install -r ci_tools/requirements-test.txt `
## 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:
`bash python setup.py egg_info bdist_wheel rotate -m.whl -k3 `
You may need to install requirements for setup beforehand, using
`bash pip install -r ci_tools/requirements-setup.txt `
## 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:
`bash mkdocs build -f docs/mkdocs.yml `
You may need to install requirements for doc beforehand, using
`bash pip install -r ci_tools/requirements-doc.txt `
## Generating the test reports
The following commands generate the html test report and the associated badge.
`bash pytest --junitxml=junit.xml -v makefun/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:
`bash twine upload dist/* -r pypitest twine upload dist/* `
### Merging pull requests with edits - memo
Ax explained in github (‘get commandline instructions’):
`bash git checkout -b <git_name>-<feature_branch> master git pull https://github.com/<git_name>/python-makefun.git <feature_branch> --no-commit --ff-only `
if the second step does not work, do a normal auto-merge (do not use rebase!):
`bash git pull https://github.com/<git_name>/python-makefun.git <feature_branch> --no-commit `
Finally review the changes, possibly perform some modifications, and commit.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file makefun-0.5.0.tar.gz
.
File metadata
- Download URL: makefun-0.5.0.tar.gz
- Upload date:
- Size: 38.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.5.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4311900208c68821ebdf54fb85a9cd032a1f4a7b40c278e3800dd06de5a86dac |
|
MD5 | d49a1ccd80a1b36c4ba0e76510854207 |
|
BLAKE2b-256 | 35ecd0d873244ab369edb250b7bd078749abd7874b736c6922a52974f364187e |
Provenance
File details
Details for the file makefun-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: makefun-0.5.0-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.5.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08e6aa08669e3cabc1fa844af509e0b1db5a296f07141b4c2d57f75dbc981a7f |
|
MD5 | e49051013cdaf53033002972ee2311a9 |
|
BLAKE2b-256 | 83653f8a1accacae4cfab2fdc2c1fab340761f0309d3968482ee6d877cb59ce7 |