# Setup tools for Lyncs and CMake support
[![python](https://img.shields.io/pypi/pyversions/lyncs_setuptools.svg?logo=python&logoColor=white)](https://pypi.org/project/lyncs_setuptools/)
[![pypi](https://img.shields.io/pypi/v/lyncs_setuptools.svg?logo=python&logoColor=white)](https://pypi.org/project/lyncs_setuptools/)
[![license](https://img.shields.io/github/license/Lyncs-API/lyncs.setuptools?logo=github&logoColor=white)](https://github.com/Lyncs-API/lyncs.setuptools/blob/master/LICENSE)
[![build & test](https://img.shields.io/github/workflow/status/Lyncs-API/lyncs.setuptools/build%20&%20test?logo=github&logoColor=white)](https://github.com/Lyncs-API/lyncs.setuptools/actions)
[![codecov](https://img.shields.io/codecov/c/github/Lyncs-API/lyncs.setuptools?logo=codecov&logoColor=white)](https://codecov.io/gh/Lyncs-API/lyncs.setuptools)
[![pylint](https://img.shields.io/badge/pylint%20score-9.8%2F10-green?logo=python&logoColor=white)](http://pylint.pycqa.org/)
[![black](https://img.shields.io/badge/code%20style-black-000000.svg?logo=codefactor&logoColor=white)](https://github.com/ambv/black)
In this package we provide a wrap around the standard setutools to be used in Lyncs projects.
## Installation
The package can be installed via `pip`:
```
pip install [--user] lyncs_setuptools
```
## Usage
Lyncs setuptools automizes the deduction of many setup.py options.
Its use in a `setup.py` file is the following
```python
from lyncs_setuptools import setup
setup(package_name, **kwargs)
```
where package_name is the name of the package and kwargs are a list of arguments additional or replacement of the one automatically deduced.
**NOTE:** For seeing the list of the automatically deduced options, run `lyncs_setuptools` from command line in the directory containing the file `setup.py`.
**NOTE:** for correctly installing your package via `pip`, you need to add a file named `pyproject.toml` with the following content.
```
[build-system]
requires = ["lyncs_setuptools", ]
```
Add `"cmake"` to the requirements list if you use the following CMake extension.
### CMakeExension
Based on https://www.benjack.io/2017/06/12/python-cpp-tests.html we provide a CMakeExtension to support CMake files.
A CMakeExtension can be added as follow
```python
from lyncs_setuptools import setup, CMakeExtension
ext = CMakeExtension(install_dir, source_dir='.', cmake_args=[])
setup(package_name, ext_modules = [ext])
```
## Setup parameters
The following are the parameter used by default in the setup
### Automatically deduced:
- **author**: (git) author of first commit
- **author_email:** (git) email of author of first commit
- **version:** (python) value of `__version__` defined in `__init__.py`
- **url:** (git) remote address of origin
- **project_urls:** (git) defines Source, Documentation, Tracker, Download
- **description:** (file) first title of the README
- **long_description:** (file) content of the README
- **long_description_content_type:** (file) type of README (md/rst)
- **classifiers:** (partially)
- ***version***: *Planning* (<0.1.0), *Pre-Alpha* (<0.3.0), *Alpha* (<0.6.0), *Beta* (<1.0.0), *Production/Stable* (<3.0.0), *Mature* (>=3.0.0)
- ***license***: TODO
- **keywords:** (>3 chars or capital) words in description
### Defaulted values
- **classifiers:** python 3-only, science
Raw data
{
"_id": null,
"home_page": "https://github.com/Lyncs-API/lyncs.setuptools",
"name": "lyncs-setuptools",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "tools,Lyncs,CMake,support,Setup",
"author": "Simone Bacchio",
"author_email": "s.bacchio@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/8c/61/e45dcfa6bf5ec582cbd3172c2a45bceff2ca229b980ea58f586be64375a3/lyncs_setuptools-0.3.2.tar.gz",
"platform": null,
"description": "# Setup tools for Lyncs and CMake support\n\n[![python](https://img.shields.io/pypi/pyversions/lyncs_setuptools.svg?logo=python&logoColor=white)](https://pypi.org/project/lyncs_setuptools/)\n[![pypi](https://img.shields.io/pypi/v/lyncs_setuptools.svg?logo=python&logoColor=white)](https://pypi.org/project/lyncs_setuptools/)\n[![license](https://img.shields.io/github/license/Lyncs-API/lyncs.setuptools?logo=github&logoColor=white)](https://github.com/Lyncs-API/lyncs.setuptools/blob/master/LICENSE)\n[![build & test](https://img.shields.io/github/workflow/status/Lyncs-API/lyncs.setuptools/build%20&%20test?logo=github&logoColor=white)](https://github.com/Lyncs-API/lyncs.setuptools/actions)\n[![codecov](https://img.shields.io/codecov/c/github/Lyncs-API/lyncs.setuptools?logo=codecov&logoColor=white)](https://codecov.io/gh/Lyncs-API/lyncs.setuptools)\n[![pylint](https://img.shields.io/badge/pylint%20score-9.8%2F10-green?logo=python&logoColor=white)](http://pylint.pycqa.org/)\n[![black](https://img.shields.io/badge/code%20style-black-000000.svg?logo=codefactor&logoColor=white)](https://github.com/ambv/black)\n\nIn this package we provide a wrap around the standard setutools to be used in Lyncs projects.\n\n## Installation\n\nThe package can be installed via `pip`:\n\n```\npip install [--user] lyncs_setuptools\n```\n\n## Usage\n\nLyncs setuptools automizes the deduction of many setup.py options.\n\nIts use in a `setup.py` file is the following\n\n```python\nfrom lyncs_setuptools import setup\n\nsetup(package_name, **kwargs)\n```\n\nwhere package_name is the name of the package and kwargs are a list of arguments additional or replacement of the one automatically deduced.\n\n**NOTE:** For seeing the list of the automatically deduced options, run `lyncs_setuptools` from command line in the directory containing the file `setup.py`.\n\n**NOTE:** for correctly installing your package via `pip`, you need to add a file named `pyproject.toml` with the following content.\n\n```\n[build-system]\nrequires = [\"lyncs_setuptools\", ]\n```\n\nAdd `\"cmake\"` to the requirements list if you use the following CMake extension.\n\n### CMakeExension\n\nBased on https://www.benjack.io/2017/06/12/python-cpp-tests.html we provide a CMakeExtension to support CMake files.\n\nA CMakeExtension can be added as follow\n\n```python\nfrom lyncs_setuptools import setup, CMakeExtension\n\next = CMakeExtension(install_dir, source_dir='.', cmake_args=[])\n\nsetup(package_name, ext_modules = [ext])\n```\n\n## Setup parameters\n\nThe following are the parameter used by default in the setup\n\n### Automatically deduced:\n\n- **author**: (git) author of first commit\n- **author_email:** (git) email of author of first commit\n- **version:** (python) value of `__version__` defined in `__init__.py` \n- **url:** (git) remote address of origin\n- **project_urls:** (git) defines Source, Documentation, Tracker, Download\n- **description:** (file) first title of the README\n- **long_description:** (file) content of the README\n- **long_description_content_type:** (file) type of README (md/rst)\n- **classifiers:** (partially) \n - ***version***: *Planning* (<0.1.0), *Pre-Alpha* (<0.3.0), *Alpha* (<0.6.0), *Beta* (<1.0.0), *Production/Stable* (<3.0.0), *Mature* (>=3.0.0)\n - ***license***: TODO\n- **keywords:** (>3 chars or capital) words in description\n\n### Defaulted values\n\n- **classifiers:** python 3-only, science\n",
"bugtrack_url": null,
"license": "",
"summary": "Setup tools for Lyncs and CMake support",
"version": "0.3.2",
"project_urls": {
"Documentation": "https://github.com/Lyncs-API/lyncs.setuptools/README.md",
"Download": "https://github.com/Lyncs-API/lyncs.setuptools/archive/master.zip",
"Homepage": "https://github.com/Lyncs-API/lyncs.setuptools",
"Source": "https://github.com/Lyncs-API/lyncs.setuptools",
"Tracker": "https://github.com/Lyncs-API/lyncs.setuptools/issues"
},
"split_keywords": [
"tools",
"lyncs",
"cmake",
"support",
"setup"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8c61e45dcfa6bf5ec582cbd3172c2a45bceff2ca229b980ea58f586be64375a3",
"md5": "ec9b22b5fddd50422bd8d1927011f3b2",
"sha256": "032811f21133d3b92e973bde6fa21725abff229424197147a2aabb96cc6e771e"
},
"downloads": -1,
"filename": "lyncs_setuptools-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "ec9b22b5fddd50422bd8d1927011f3b2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14444,
"upload_time": "2024-03-18T15:21:18",
"upload_time_iso_8601": "2024-03-18T15:21:18.673990Z",
"url": "https://files.pythonhosted.org/packages/8c/61/e45dcfa6bf5ec582cbd3172c2a45bceff2ca229b980ea58f586be64375a3/lyncs_setuptools-0.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-18 15:21:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Lyncs-API",
"github_project": "lyncs.setuptools",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "lyncs-setuptools"
}