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.

Unit Tests

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

Minimal Installation

pip install -U .

Optional Dependencies

Install specific modules:

pip install -U .[hardware]          # Only hardware dependencies
pip install -U .[tools,utils]       # Tools + utilities

# Special case for seq or all:
pip install -U git+https://github.com/LJMUAstroecology/flirpy.git
pip install -U .[seq]

pip install -U .[all]               # Everything

Development Mode (Editable Install)

pip install -U git+https://github.com/LJMUAstroecology/flirpy.git
pip install -U -e .[all]            # 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.2.tar.gz (362.4 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.2-py3-none-any.whl (56.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: poulet_py-0.1.2.tar.gz
  • Upload date:
  • Size: 362.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for poulet_py-0.1.2.tar.gz
Algorithm Hash digest
SHA256 417df635af95a3b8d88db08a082586ed57e2f91598bab0b3988ad2dab0c38dc3
MD5 6585b511a2ead4ffe01184540dcbc75c
BLAKE2b-256 6ef96762a23ed0a3c05df06e04bf829daf9bc3bfcdea43bf30cd2dd429aeb87c

See more details on using hashes here.

Provenance

The following attestation bundles were made for poulet_py-0.1.2.tar.gz:

Publisher: python-publish.yml on poulet-lab/poulet_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: poulet_py-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 56.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for poulet_py-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cbe905ab397e9573e63bab91f9d1bbbd5dd1684ec0098acf0c9787ca0a7d0c33
MD5 45b691c6870dad8cb23b9df897413c1f
BLAKE2b-256 6a7ddf89055eea5c337af04386e89420ce503416bdb4ff96a424e041e17cd25f

See more details on using hashes here.

Provenance

The following attestation bundles were made for poulet_py-0.1.2-py3-none-any.whl:

Publisher: python-publish.yml on poulet-lab/poulet_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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