Thank you for your interest in contributing to pyLBA! We welcome contributions from the community.
- Clone the repository:
git clone https://github.com/nuttidalab/pyLBA.git
cd pyLBA- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install in development mode:
pip install -e ".[dev]"We use black for code formatting:
black pyLBA/And flake8 for linting:
flake8 pyLBA/Run the test suite:
pytest tests/Or use the test runner:
python run_tests.pyTo add a new accumulator model:
- Create a new parameter class inheriting from
ModelParameters - Create a new model class inheriting from
AccumulatorModel - Implement the required abstract methods
- Add tests for your model
- Update the documentation
Example:
class MyModelParameters(ModelParameters):
param1: float
param2: float
class MyModel(AccumulatorModel):
def __init__(self):
super().__init__("My Model")
def pdf(self, rt, response, parameters):
# Implement PDF calculation
pass
def generate_data(self, n_trials, parameters, **kwargs):
# Implement data generation
pass
def get_parameter_class(self):
return MyModelParameters- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Update documentation as needed
- Submit a pull request
Please use the GitHub issue tracker to report bugs or request features.
Please be respectful and constructive in all interactions.