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.2.0.tar.gz (410.1 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.2.0-py3-none-any.whl (426.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for poulet_py-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5da84ae01444b34e77077c5696bdb8a788e2ee27507cf5625bdce55048493939
MD5 8aef01219eab230547dc44eec6b251e3
BLAKE2b-256 22e342e624cf96e7091c4b439f510ada5c976079c9171fa59873aff69601e65c

See more details on using hashes here.

Provenance

The following attestation bundles were made for poulet_py-0.2.0.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.2.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for poulet_py-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c290f8fd3b9649a014c86eff0f2bff5f80410b42140b45e9c235dbb26d871c3a
MD5 25fa0572f1fa71391c4277028e057d34
BLAKE2b-256 7dca54a943e4e8fb6bba5afdaecab8f2bf162dd275b191f5789d62c2990712e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for poulet_py-0.2.0-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