Distribute your extension module as a pip installable package
Project description
pipnest
pipnest packages your NEST extension modules into pip installable packages. This is a benefit when you're distributing a Python model for the NEST simulator and have a dependency on an extension module. Instead of having to provide installation instructions to your end-users you can have pip download and build the extension module into the target machine's nest installation.
Usage
Project structure
- Prepare a folder with 1 subfolder that contains a NEST extension modules.
- The source code of the extension module can not be in the root repository.
- The name of your module should be the name of your folders plus "module".
Your project structure should look like this:
- my_module
- my_module
- my_file1.cpp
- my_file2.cpp
- ...
In this example your NEST module should be called the my_modulemodule
.
Initialize project
Run the pipnest init
command from the root folder and fill in the
requested metadata:
cd my_module
pipnest init .
This should create a setup.py and README.md, be sure to edit the latter.
Check that your module is present under the packages
keyword argument
in setup.py
.
Package
Create the source distribution:
python setup.py sdist
Test your package locally
- Remove any already installed versions from the
$NEST_INSTALL_DIR/lib/nest
folder - Run
pip install dist/*
. (If an MPI error occurs, restart your terminal and try again)
Upload to PyPI
Use twine to upload your package:
twine upload dist/* --skip-existing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file pipnest-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: pipnest-0.0.2-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 834479696dd5120a9056a1e52aab861ea7ddf6b032120e9c28141bf871c9788f |
|
MD5 | 2584250688ef687d1b3ea5e771873a91 |
|
BLAKE2b-256 | c7358c85e8b7779009c6581adb905c36886eaed5795dda24d01ac63f7c49a631 |