https://github.com/cmake-wheel/cmeel
Create Wheel from CMake projects
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.8%) to scientific vocabulary
Repository
Create Wheel from CMake projects
Basic Info
- Host: GitHub
- Owner: cmake-wheel
- License: bsd-2-clause
- Language: Python
- Default Branch: main
- Homepage: https://cmeel.readthedocs.io/
- Size: 1.23 MB
Statistics
- Stars: 25
- Watchers: 1
- Forks: 1
- Open Issues: 4
- Releases: 91
Metadata Files
README.md
CMake Wheel: cmeel
Wheel build backend using CMake, to package any CMake project with pip and distribute on PyPI.
Following those relevant PEPs: - PEP 427, The Wheel Binary Package Format 1.0 - PEP 517, A build-system independent format for source trees - PEP 518, Specifying Minimum Build System Requirements for Python Projects - PEP 600, Future ‘manylinux’ Platform Tags for Portable Linux Built Distributions - PEP 621, Storing project metadata in pyproject.toml - PEP 639, Improving License Clarity with Better Package Metadata - PEP 660, Editable installs for pyproject.toml based builds (wheel based)
Chat
https://matrix.to/#/#cmake-wheel:matrix.org
Basic idea
Glue between PEP 517 & 660 entry points and modern CMake standard project configuration / build / test / install, and
install in ${PYTHON_SITELIB}/cmeel.prefix/:
- As there is a dot, it is not a valid python module name, so no risk of importing anything there by mistake
- Play well with others, as everything is confined to ${PYTHON_SITELIB}/cmeel.prefix
- ${PYTHON_SITELIB}/cmeel.pth automatically load ${PYTHON_SITELIB}/cmeel.prefix/${PYTHON_SITELIB}, so python
packages work out of the box
- Existing ${PYTHON_SITELIB}/cmeel.prefix are automatically added to $CMAKE_PREFIX_PATH, so we can build CMake
packages whose dependencies are provided by other packages installed with cmeel
- Stuff in ${PYTHON_SITELIB}/cmeel.prefix/bin is exposed via cmeel.run:cmeel_run, or copied if start with a shebang
Basic pyproject.toml example
extract from https://github.com/cmake-wheel/cmeel-example/blob/main/pyproject.toml:
```toml [build-system] build-backend = "cmeel" requires = ["cmeel[build]"]
[project] authors = [{email = "guilhem.saurel@laas.fr", name = "Guilhem Saurel"}] description = "This is an example project, to show how to use cmeel" license = "BSD-2-Clause" name = "cmeel-example" requires-python = ">= 3.8" version = "0.7.0"
[project.urls] changelog = "https://github.com/cmake-wheel/cmeel-example/blob/main/CHANGELOG.md" homepage = "https://github.com/cmake-wheel/cmeel-example" repository = "https://github.com/cmake-wheel/cmeel-example.git" ```
Complete specification is available at: https://packaging.python.org/en/latest/specifications/declaring-project-metadata
Install
If you want to use the helpers provided by cmeel, to eg. test building a project in a manylinux container with
cmeel docker, the best way to install cmeel is to use pipx: pipx install cmeel
Otherwise, if you just want to use the build backend, there is no need to install anything: your frontent (eg. pip)
should do this for you
Owner
- Name: cmake-wheel
- Login: cmake-wheel
- Kind: organization
- Repositories: 19
- Profile: https://github.com/cmake-wheel
GitHub Events
Total
- Create event: 75
- Release event: 8
- Issues event: 3
- Watch event: 9
- Delete event: 63
- Issue comment event: 2
- Push event: 102
- Pull request event: 131
Last Year
- Create event: 75
- Release event: 8
- Issues event: 3
- Watch event: 9
- Delete event: 63
- Issue comment event: 2
- Push event: 102
- Pull request event: 131
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 4
- Total pull requests: 280
- Average time to close issues: N/A
- Average time to close pull requests: 9 days
- Total issue authors: 4
- Total pull request authors: 4
- Average comments per issue: 0.75
- Average comments per pull request: 0.15
- Merged pull requests: 225
- Bot issues: 1
- Bot pull requests: 255
Past Year
- Issues: 2
- Pull requests: 136
- Average time to close issues: N/A
- Average time to close pull requests: about 9 hours
- Issue authors: 2
- Pull request authors: 3
- Average comments per issue: 0.0
- Average comments per pull request: 0.01
- Merged pull requests: 119
- Bot issues: 0
- Bot pull requests: 124
Top Authors
Issue Authors
- mtheall (1)
- dependabot[bot] (1)
- bradbell (1)
- kingjin94 (1)
Pull Request Authors
- dependabot[bot] (188)
- pre-commit-ci[bot] (75)
- nim65s (24)
- fabinsch (4)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 91,784 last-month
- Total docker downloads: 29
- Total dependent packages: 61
- Total dependent repositories: 1
- Total versions: 89
- Total maintainers: 1
pypi.org: cmeel
Create Wheel from CMake projects
- Homepage: https://github.com/cmake-wheel/cmeel
- Documentation: https://cmeel.readthedocs.io/
- License: bsd-2-clause
-
Latest release: 0.57.3
published about 1 year ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- alabaster ==0.7.12
- babel ==2.10.3
- certifi ==2022.9.14
- charset-normalizer ==2.1.1
- colorama ==0.4.5
- docutils ==0.18.1
- idna ==3.4
- imagesize ==1.4.1
- importlib-metadata ==4.12.0
- jinja2 ==3.1.2
- markdown-it-py ==2.1.0
- markupsafe ==2.1.1
- mdit-py-plugins ==0.3.0
- mdurl ==0.1.2
- myst-parser ==0.18.0
- packaging ==21.3
- pygments ==2.13.0
- pyparsing ==3.0.9
- pytz ==2022.2.1
- pyyaml ==6.0
- requests ==2.28.1
- snowballstemmer ==2.2.0
- sphinx ==5.1.1
- sphinxcontrib-applehelp ==1.0.2
- sphinxcontrib-devhelp ==1.0.2
- sphinxcontrib-htmlhelp ==2.0.0
- sphinxcontrib-jsmath ==1.0.1
- sphinxcontrib-qthelp ==1.0.3
- sphinxcontrib-serializinghtml ==1.1.5
- tomli ==2.0.1
- typing-extensions ==4.3.0
- urllib3 ==1.26.12
- zipp ==3.8.1
- Babel 2.10.3 develop
- Jinja2 3.1.2 develop
- MarkupSafe 2.1.1 develop
- PyYAML 6.0 develop
- Pygments 2.13.0 develop
- Sphinx 5.1.1 develop
- alabaster 0.7.12 develop
- certifi 2022.9.14 develop
- charset-normalizer 2.1.1 develop
- colorama 0.4.5 develop
- docutils 0.18.1 develop
- idna 3.4 develop
- imagesize 1.4.1 develop
- markdown-it-py 2.1.0 develop
- mdit-py-plugins 0.3.0 develop
- mdurl 0.1.2 develop
- myst-parser 0.18.0 develop
- pytz 2022.2.1 develop
- requests 2.28.1 develop
- snowballstemmer 2.2.0 develop
- sphinxcontrib-applehelp 1.0.2 develop
- sphinxcontrib-devhelp 1.0.2 develop
- sphinxcontrib-htmlhelp 2.0.0 develop
- sphinxcontrib-jsmath 1.0.1 develop
- sphinxcontrib-qthelp 1.0.3 develop
- sphinxcontrib-serializinghtml 1.1.5 develop
- urllib3 1.26.12 develop
- cmake 3.24.1.1
- importlib-metadata 4.12.0
- packaging 21.3
- pyparsing 3.0.9
- tomli 2.0.1
- typing-extensions 4.3.0
- wheel 0.37.1
- zipp 3.8.1
- cmake ^3.22.3
- importlib-metadata ^4.12.0
- packaging ^21.3
- python ^3.7
- tomli ^2.0.1
- wheel ^0.37.1
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite