https://github.com/cmake-wheel/cmeel

Create Wheel from CMake projects

https://github.com/cmake-wheel/cmeel

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
Last synced: 9 months ago · JSON representation

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
Created about 4 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog License

README.md

CMake Wheel: cmeel

PyPI version pre-commit.ci status Documentation Status

Ruff uv

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

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
dependencies (1) python (1)
Pull Request Labels
dependencies (188) python (176) github_actions (11)

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

  • Versions: 89
  • Dependent Packages: 61
  • Dependent Repositories: 1
  • Downloads: 91,784 Last month
  • Docker Downloads: 29
Rankings
Dependent packages count: 0.3%
Downloads: 2.1%
Docker downloads count: 3.2%
Average: 10.9%
Stargazers count: 15.6%
Dependent repos count: 21.5%
Forks count: 22.6%
Maintainers (1)
Last synced: 9 months ago

Dependencies

.github/workflows/release.yml actions
  • actions/checkout v3 composite
docs/requirements.txt pypi
  • 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
poetry.lock pypi
  • 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
pyproject.toml pypi
  • cmake ^3.22.3
  • importlib-metadata ^4.12.0
  • packaging ^21.3
  • python ^3.7
  • tomli ^2.0.1
  • wheel ^0.37.1
.github/workflows/build.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
.github/workflows/docker.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/editable.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/helpers.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/lint.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/sdist.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite