mms_nirs
A repository of Python code used by the MMS group at UCL to analyse NIRS data
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found 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 (14.5%) to scientific vocabulary
Repository
A repository of Python code used by the MMS group at UCL to analyse NIRS data
Basic Info
- Host: GitHub
- Owner: multimodalspectroscopy
- Language: Python
- Default Branch: main
- Size: 142 KB
Statistics
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
MMS NIRS
What
This repo contains Python code that can be used with the NIRS data generated at the multimodal spectroscopy group at UCL.
Installation
To install we use conda and poetry. Installation instructions for each of these can be found in their respective documentation. We use these tools to make it easy to develop our Python code in isolated environments (using conda) and to easily add, modify and publish packages (using poetry).
To create a new environment start by making a new conda environment with
bash
conda env create -f environment.yml
which will create an environment based on the environment.yaml in this repository. The name of the environment will match the one in this file.]
Once this is created you can activate the environment in order to use it
bash
conda activate mms_nirs
Once the environment is activated you can then install all the dependencies of the project with poetry install.
To add a new depdency, you use
bash
poetry add <package_name> # for dependencies that should be available in the final package e.g. numpy
poetry add --group dev <package_name> # for dependencies that are only for development e.g. pytest, black etc.
and so on as per the documentation. This should install dependencies based on the conda-forge channel which is generally more reliable for data science and scientific computing code, and then it will fal back to PyPi if it's not available there.
Publishing
To publish a new package version you'll need to configure poetry locally as per the documentation.
Once that's done you can use the Makefile to publish the changes.
First create a new version of the code in Github
bash
make version v=X.X.X
where X.X.X is the version as defined by semver (major.minor.patch).
With that done you can then push the change.
To push to the production PyPi repo use
bash
make publish-prod
and to publish to the test repo (if you want to test changes without impacting other users of the package) use
bash
make publish-test
Once that's done you can change the version anywhere it's needed to use the new code.
Owner
- Name: Multimodal Spectroscopy Group, UCL
- Login: multimodalspectroscopy
- Kind: organization
- Location: London
- Repositories: 6
- Profile: https://github.com/multimodalspectroscopy
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Russell-Buckland" given-names: "Joshua" orcid: "https://orcid.org/0000-0001-7559-1413" title: "Multimodal Spectroscopy NIRS" version: 0.2.1 date-released: 2023-05-09 url: "https://github.com/multimodalspectroscopy/mms_nirs"
GitHub Events
Total
Last Year
Dependencies
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- snok/install-poetry v1 composite
- black 23.7.0 develop
- click 8.1.6 develop
- colorama 0.4.6 develop
- exceptiongroup 1.1.2 develop
- iniconfig 2.0.0 develop
- mypy-extensions 1.0.0 develop
- nodeenv 1.8.0 develop
- packaging 23.1 develop
- pathspec 0.11.2 develop
- platformdirs 3.10.0 develop
- pluggy 1.2.0 develop
- poetry-core 1.6.1 develop
- poetry2setup 1.1.0 develop
- pyright 1.1.318 develop
- pytest 7.4.0 develop
- setuptools 68.0.0 develop
- tomli 2.0.1 develop
- mpmath 1.3.0
- numpy 1.25.1
- pandas 2.0.3
- pyarrow 12.0.1
- python-dateutil 2.8.2
- pytz 2023.3
- scipy 1.11.1
- six 1.16.0
- sympy 1.12
- tzdata 2023.3
- numpy ^1.24.3
- pandas ^2.0.1
- pyarrow ^12.0.0
- python >=3.10,<3.12
- scipy ^1.10.1
- sympy ^1.12