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:
- Branching
- Work on a dedicated branch (git checkout -b your-feature).
- Submit PRs to the dev branch (PRs to main will be rejected).
- 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.
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2c74946cc1699acfaf50667b496bc47746516fbab9325eb3c00968fb1047bbe
|
|
| MD5 |
74fdd31375581057e61469e99581f692
|
|
| BLAKE2b-256 |
c0b9ca42e636b3a4b4ba28a2a6311dd079cb929679b28efae67978507ad60a11
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c8cff4daef8704e90498d2da1c1dd3f50040583385e030869c64690b930f92e
|
|
| MD5 |
ebdb204d8a059ad53e34654d9383da11
|
|
| BLAKE2b-256 |
2287da60a7ef12cb1511121d173f56bd7ac6b620f21fc11eed40400c0468411c
|