Python routines dealing with Neuropixels data.
Project description
routines
Formal Definition of a "routine" -> a python function with the following properties:
- short memorable name
- computes a commonly used Variable from a raw dataset directory.
- when called, looks for the Variable in dir/routinesMemory where dir is the directory of the dataset. If not found, the routine saves the variable after having computed it.
Python version has to be >=3.7 ot there will be imports issues!
Useful link to create a python package from a git repository
Installation:
Using a conda environment is very much advised. Instructions here: manage conda environments
- from a local repository (recommended if plans to work on it/regularly pull upgrades)
$ conda activate env_name
$ cd path/to/save_dir # any directory where your code will be accessible by your editor and safe. NOT downloads folder.
$ git clone https://github.com/Npix-routines/NeuroPyxels
$ cd NeuroPyxels
$ python setup.py develop # this will create an egg link to save_dir, which means that you do not need to reinstall the package each time you pull an udpate from github.
- from the remote repository (recommended for easy passive install)
$ conda activate env_name
$ pip install git+https://github.com/Npix-routines/NeuroPyxels@master
- Now test that the installation works. If it doesn't, figure out which packages are missing from the error log.
$ conda activate env_name
$ python
>>> import npix # NO ERROR OMG THIS PACKAGE IS SO AWESOME
Pull remote updates (after Maxime's updates :)):
$ conda activate env_name
$ cd path/to/save_dir/NeuroPyxels
$ git pull
# And that's it, thanks to the egg link no need to reinstall the package!
Push local updates:
# DO NOT DO THAT WITHOUT CHECKING WITH MAXIME FIRST
# ONLY ON DEDICATED BRANCH CREATED WITH THE GITHUB BROWSER INTERFACE
$ cd path/to/save_dir/NeuroPyxels
$ git checkout DEDICATED_BRANCH_NAME # ++++++ IMPORTANT
$ git add.
$ git commit -m "commit details - try to be specific"
$ git push origin DEDICATED_BRANCH_NAME # ++++++ IMPORTANT
# Then pull request to master branch using the online github green button! Do not forget this last step, to allow the others repo to sync.
Push local updates to PyPI (only Maxime)
First change the version in ./setup.py in a text editor
setup(name='npyx',
version='1.0',... # change to 1.1 or whatev
Then delete the old distribution files before re-generating them for the new version using twine:
rm -r ./dist
rm -r ./build
rm -r ./npyx.egg-info
python setup.py sdist bdist_wheel # this will generate version 1.1 wheel without overwriting version 1.0 wheel in ./dist
Before pushing them to PyPI (older versions are saved online!)
$ twine upload dist/*
Uploading distributions to https://upload.pypi.org/legacy/
Enter your username: your-username
Enter your password:
Uploading npyx-1.1-py3-none-any.whl
100%|████████████████████████████████████████████████████████| 156k/156k [00:01<00:00, 96.8kB/s]
Uploading npyx-1.1.tar.gz
100%|█████████████████████████████████████████████████████████| 150k/150k [00:01<00:00, 142kB/s]
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 Distribution
Built Distribution
File details
Details for the file npyx-1.3.tar.gz
.
File metadata
- Download URL: npyx-1.3.tar.gz
- Upload date:
- Size: 152.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 548f65d7e70445d0e62bfd37366fff014d8631c6b1b7d67f37372b3878f7b3a5 |
|
MD5 | 0db2b279a66d3b1e5a81507697cb9620 |
|
BLAKE2b-256 | 5d2b5b0a81ddf3275d0f8d296331031239c238c99229811d11de04a3a4e4601c |
File details
Details for the file npyx-1.3-py3-none-any.whl
.
File metadata
- Download URL: npyx-1.3-py3-none-any.whl
- Upload date:
- Size: 156.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8a1de4a2e14e3c6d9fe724f36411ac2d1e593b4eefc04436a5978dee6ea8bb8 |
|
MD5 | 64087802ebdcd59e9fe6cd70fcfefa04 |
|
BLAKE2b-256 | ab69d396ef72ee8de3702120a3d2179f2049f81c1dc0e4db8278862f3ee85cf4 |