Skip to main content

A library which hosts various neuroscience python methods

Project description

Poulet Py – Neuroscience Python Library from Poulet Lab

A modular Python library for neuroscientific hardware control, data analysis, and experimental setups.

Overview

Poulet provides a collection of tools for neuroscience researchers, including:

  • Hardware communication (e.g., serial devices, DAQ interfaces)
  • Data analysis utilities
  • Experimental workflow automation

The library is organized into these core modules:

Module Description
config It contains the SETTINGS and LOGGER constants for loading environmental variables and logging.
converters For converting different filetypes to common data science (h5, plk, etc.).
hardware Low-level drivers and interfaces for external devices (e.g., amplifiers, stimulator).
tools Helper functions (serializers, generators, file I/O) – typically class-free.
utils High-level interactive tools for experiments and data processing.

Installation

Basic Installation

pip install -U . -c constraints.txt

Optional Dependencies

Install specific modules:

pip install -U .[hardware] -c constraints.txt     # Only hardware dependencies
pip install -U .[tools,utils] -c constraints.txt  # Tools + utilities
pip install -U .[all] -c constraints.txt          # Everything

Development Mode (Editable Install)

pip install -U -e .[all] -c constraints.txt       # For contributors

Configuration

The config/ folder includes:

  • settings.py – Environment variables for dynamic configuration (avoid hardcoded values).
  • Custom logger – Use instead of print() for better debugging.

Example:

from poulet_py import LOGGER
LOGGER.info("Starting trial...")

Examples

Check the examples/ folder for usage scripts, such as:

  • examples/oscilloscope.py – Oscilloscope like visualization.

Contributing

We welcome contributions! Follow these guidelines:

  1. Branching
  • Work on a dedicated branch (git checkout -b your-feature).
  • Submit PRs to the dev branch (PRs to main will be rejected).
  1. Code Standards
  • Tests: Add unit tests in tests/ (mirroring the module structure).
  • Documentation: Use docstrings and update init.py for lazy loading.
  • Type hints: Recommended for new functions.
  1. Commit Messages
  • Use semantic prefixes (e.g., feat:, fix:, docs:).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

poulet_py-0.1.1.tar.gz (363.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

poulet_py-0.1.1-py3-none-any.whl (56.8 kB view details)

Uploaded Python 3

File details

Details for the file poulet_py-0.1.1.tar.gz.

File metadata

  • Download URL: poulet_py-0.1.1.tar.gz
  • Upload date:
  • Size: 363.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for poulet_py-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c2c74946cc1699acfaf50667b496bc47746516fbab9325eb3c00968fb1047bbe
MD5 74fdd31375581057e61469e99581f692
BLAKE2b-256 c0b9ca42e636b3a4b4ba28a2a6311dd079cb929679b28efae67978507ad60a11

See more details on using hashes here.

File details

Details for the file poulet_py-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: poulet_py-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 56.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for poulet_py-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c8cff4daef8704e90498d2da1c1dd3f50040583385e030869c64690b930f92e
MD5 ebdb204d8a059ad53e34654d9383da11
BLAKE2b-256 2287da60a7ef12cb1511121d173f56bd7ac6b620f21fc11eed40400c0468411c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page