Metadata-Version: 1.2
Name: makefun
Version: 1.0.0
Summary: Small library to dynamically create python functions.
Home-page: https://github.com/smarie/python-makefun
Maintainer: Sylvain MARIE
Maintainer-email: sylvain.marie@se.com
License: BSD 3-Clause
Download-URL: https://github.com/smarie/python-makefun/tarball/1.0.0
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.
        
Keywords: dynamic function generation definition signature args wrapper
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Testing
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
