https://github.com/alleninstitute/npc_lims

Tools to fetch and update paths, metadata and state for Mindscope Neuropixels sessions, in the cloud.

https://github.com/alleninstitute/npc_lims

Science Score: 36.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
  • Committers with academic emails
    2 of 4 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.1%) to scientific vocabulary

Keywords from Contributors

interpretability standardization animal hack autograder report
Last synced: 10 months ago · JSON representation

Repository

Tools to fetch and update paths, metadata and state for Mindscope Neuropixels sessions, in the cloud.

Basic Info
Statistics
  • Stars: 0
  • Watchers: 8
  • Forks: 1
  • Open Issues: 3
  • Releases: 0
Created almost 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License

README.md

npc_lims

neuropixels cloud lab information management system Tools to fetch and update paths, metadata and state for Mindscope Neuropixels sessions, in the cloud.

PyPI Python version

Coverage CI/CD GitHub
issues

quickstart

  • make a new Python >=3.9 virtual environment with conda or venv (lighter option, since this package does not require pandas, numpy etc.): bash python -m venv .venv
  • activate the virtual environment:
    • Windows cmd .venv\scripts\activate
    • Unix bash source .venv/bin/activate.sh
  • install the package: bash python -m pip install npc_lims
  • setup credentials
    • required environment variables:
    • AWS S3
      • AWS_DEFAULT_REGION
      • AWS_ACCESS_KEY_ID
      • AWS_SECRET_ACCESS_KEY
      • to find and read files on S3
      • must have read access on relevant aind buckets
      • can be in a standard ~/.aws location, as used by AWS CLI or boto3
    • CodeOcean API
      • CODE_OCEAN_API_TOKEN
      • CODE_OCEAN_DOMAIN
      • to find processed data in "data assets" via the Codeocean API
      • generated in CodeOcean:
      • right click on Account (bottom left, person icon)
      • click User Secrets - these are secrets than can be made available as environment variables in CodeOcean capsules
      • go to Access Tokens and click Generate new token - this is for programatically querying CodeOcean's databases
        • in Token Name enter Codeocean API (read) and check read on capsules and datasets
        • a token will be generated: click copy (storing it in a password manager, if you use one)
      • head back to User Secrets where we'll paste it into a new secret via Add secret > API credentials - in description enter Codeocean API (read) - in API key enter CODE_OCEAN_API_KEY - in API secret paste the copied secret from before (should start with cop_...) CODE_OCEAN_DOMAIN is the codeocean https address, up to and including .org
    • environment variables can also be specified in a file named .env in the current working directory
    • example: https://www.dotenv.org/docs/security/env.html
    • be very careful that this file does not get pushed to public locations, e.g. github
      • if using git, add it to a .gitignore file in your project's root directory: gitignore .env*
  • now in Python we can find sessions that are available to work with:

```python >>> import npc_lims;

# get a sequence of SessionInfo dataclass instances, one per session: >>> trackedsessions: tuple[npclims.SessionInfo, ...] = npclims.getsession_info()

# each SessionInfo instance has minimal metadata about its session: >>> trackedsessions[0] # doctest: +SKIP npclims.SessionInfo(id='6267912022-08-15', subject=626791, date='2022-08-15', idx=0, project='DRPilotSession', isephys=True, issync=True, allenpath=PosixUPath('//allen/programs/mindscope/workgroups/dynamicrouting/PilotEphys/Task 2 pilot/DRpilot62679120220815')) >>> trackedsessions[0].isephys # doctest: +SKIP False

# currently, we're only tracking behavior and ephys sessions that use variants of https://github.com/samgale/DynamicRoutingTask/blob/main/TaskControl.py: >>> all(s.date.year >= 2022 for s in tracked_sessions) True

```

  • "tracked sessions" are discovered via 3 routes:
    • https://github.com/AllenInstitute/npclims/blob/main/trackedsessions.yaml
    • \\allen\programs\mindscope\workgroups\dynamicrouting\DynamicRoutingTask\DynamicRoutingTraining.xlsx
    • \\allen\programs\mindscope\workgroups\dynamicrouting\DynamicRoutingTask\DynamicRoutingTrainingNSB.xlsx

Owner

  • Name: Allen Institute
  • Login: AllenInstitute
  • Kind: organization
  • Location: Seattle, WA

Please visit http://alleninstitute.github.io/ for more information.

GitHub Events

Total
  • Issues event: 5
  • Issue comment event: 3
  • Push event: 51
  • Pull request event: 1
  • Pull request review event: 1
  • Fork event: 1
  • Create event: 10
Last Year
  • Issues event: 5
  • Issue comment event: 3
  • Push event: 51
  • Pull request event: 1
  • Pull request review event: 1
  • Fork event: 1
  • Create event: 10

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 884
  • Total Committers: 4
  • Avg Commits per committer: 221.0
  • Development Distribution Score (DDS): 0.318
Past Year
  • Commits: 229
  • Committers: 3
  • Avg Commits per committer: 76.333
  • Development Distribution Score (DDS): 0.284
Top Committers
Name Email Commits
bjhardcastle b****e@a****g 603
github-actions 4****] 181
arjun.sridhar12345 a****8@g****m 99
egmcbride e****e@a****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 17
  • Total pull requests: 3
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 3
  • Total pull request authors: 2
  • Average comments per issue: 0.88
  • Average comments per pull request: 0.33
  • Merged pull requests: 2
  • 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
Top Authors
Issue Authors
  • bjhardcastle (11)
  • arjunsridhar12345 (3)
  • mochic (1)
Pull Request Authors
  • mochic (2)
  • arjunsridhar12345 (2)
Top Labels
Issue Labels
bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 3,516 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 183
  • Total maintainers: 1
pypi.org: npc_lims

Tools to fetch and update paths, metadata and state for Mindscope Neuropixels sessions, in the cloud.

  • Versions: 183
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,516 Last month
Rankings
Downloads: 4.3%
Dependent packages count: 7.5%
Average: 30.2%
Forks count: 30.2%
Stargazers count: 39.1%
Dependent repos count: 69.8%
Maintainers (1)
Last synced: 11 months ago

Dependencies

.github/workflows/publish.yml actions
  • EndBug/add-and-commit v9 composite
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • codecov/codecov-action v3 composite
  • pdm-project/setup-pdm v3 composite
.github/workflows/status.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
pyproject.toml pypi
  • aind-codeocean-api >=0.2.4
  • npc_session >=0.1.0
  • pydbhub-bjh >=0.0.8
  • python-dotenv >=1.0.0
  • pyyaml >=6.0.1
  • redis >=4.1.4
  • s3fs >=2023.6.0
  • types-PyYAML >=6.0.12.11
  • types-redis >=4.6.0.3
  • typing-extensions >=4.7.1
  • universal-pathlib >=0.1.1