https://github.com/agoose77/gco-cppyy
Science Score: 13.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
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.5%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Basic Info
- Host: GitHub
- Owner: agoose77
- License: mit
- Language: CMake
- Default Branch: master
- Size: 72.3 KB
Statistics
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
- Releases: 0
Created almost 6 years ago
· Last pushed almost 6 years ago
Metadata Files
Readme
License
README.md
gco-cppyy: cppyy-generated bindings for gco
This project is set of Python bindings for gco using cppyy. The project template comes from camillescott's cookiecutter recipe, in which the CMake sources are based on the bundled cppyy CMake modules, with a number of improvements and changes:
genreflexand a selection XML are use instead of a directrootclinginvocation. This makes name selection much easier.- Python package files are generated using template files. This allows them to be customized for the particular library being wrapped.
- The python package is more complete: it includes a MANIFEST, LICENSE, and README; it properly recognizes submodules; it includes a tests submodule for bindings tests; it directly copies a python module file and directory structure for its pure python code.
- The cppyy initializor routine has basic support for packaging cppyy pythonizors. These are stored
in the pythonizors/ submodule, in files of the form
pythonize_*.py. The pythonizor routines themselves should be namedpythonize_<NAMESPACE>_*.py, where<NAMESPACE>refers to the namespace the pythonizor will be added to in thecppyy.py.add_pythonizationcall. These will be automatically found and added by the initializor.
Repo Structure
CMakeLists.txt: The CMake file for bindings generation.selection.xml: The genreflex selection file.interface.hh: The interface header used by genreflex. Should include the headers and template declarations desired in the bindings.cmake/: CMake files for the build. Should not need to be modified.pkg_templates/: Templates for the generated python package. Users can modify the templates to their liking; they will be configured and copied into the build and package directory.py/: Python package structure that will be copied into the generated package. Add any pure python code you'd like include in your bindings package here.py/initializor.py: The cppyy bindings initializor that will be copied in the package. Do not delete!
Example Usage
For this repository with anaconda:
conda create -n cppyy-example python=3 cmake cxx-compiler c-compiler clangdev libcxx libstdcxx-ng libgcc-ng pytest
conda activate cppyy-example
pip install cppyy clang
git clone https://github.com/agoose77/gco-cppyy
cd cppyy-knn
mkdir build; cd build
cmake ..
make install
And then to test:
py.test -v -s gco_cppyy/tests/test_gco.py
Owner
- Name: Angus Hollands
- Login: agoose77
- Kind: user
- Location: United Kingdom
- Company: 2i2c
- Twitter: agoose77
- Repositories: 230
- Profile: https://github.com/agoose77
Open Source Infrastructure Engineer @ 2i2c. Executable Books core team member. PhD in Nuclear Physics from the University of Birmingham.
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0