Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
65a1818
First commit with incomplete modules.
blakeaw Jun 17, 2025
d36cb73
Added the expressions and rules contexts.
blakeaw Jun 17, 2025
77bcce2
ModelMetadataTracker class.
blakeaw Jun 18, 2025
dccab84
Added the summarize function to Model
blakeaw Jun 18, 2025
2e4231d
Added functional tagging and logging modules with some associated upd…
blakeaw Jun 21, 2025
37ab2f3
Working on the ModelChecker class.
blakeaw Jun 24, 2025
53b50d6
Added new mkdocs files.
blakeaw Jun 25, 2025
7863e6b
Various additions to docs and other code updates.
blakeaw Jun 29, 2025
916dd8e
Various updates.
blakeaw Jul 2, 2025
7f89b87
Moved the metadata and modelchecker modules under validation subpackage.
blakeaw Jul 2, 2025
620a945
Central config module.
blakeaw Jul 2, 2025
452f004
Added more docs pages.
blakeaw Jul 2, 2025
b4f6651
Added print statements with warning messages to ensure visibility in …
blakeaw Jul 2, 2025
fad3522
Added docstrings to package/subpackage level __init__.py files.
blakeaw Jul 2, 2025
8ab99cb
Initial integration test for constructing a model trying out several …
blakeaw Jul 2, 2025
31ae86b
Adjusted the introspection logic to filter out any modules to avoid i…
blakeaw Jul 2, 2025
eba2981
Packed commit with lots of changes and additions.
blakeaw Jul 14, 2025
ea2944b
Renamed the Model.summarize function to markdown_summary
blakeaw Jul 14, 2025
c9383e5
Changed name of Model.summarize to Model.markdwon_summary with corres…
blakeaw Jul 14, 2025
f7d9fdf
Added a new docs page for the ModelMermaidDiagrammer.
blakeaw Jul 14, 2025
4c5c845
Fixed references to ModelMermaidDiagram to be ModelMermaidDeiagrammer
blakeaw Jul 14, 2025
808866b
Coverage and pytest config files
blakeaw Jul 14, 2025
525f352
Various updates to docs.
blakeaw Jul 14, 2025
bdcfd72
Fixed problem parsing and sanitizing labels for complexes.
blakeaw Jul 14, 2025
ef61838
Fixed problem parsing and sanitizing labels for complexes.
blakeaw Jul 14, 2025
312ca0f
Working on docs, added new logo.
blakeaw Jul 15, 2025
66f73a1
Logo files
blakeaw Jul 15, 2025
88f2d66
Experimental infix macros.
blakeaw Jul 18, 2025
22e2f1a
Updates to contexts and core for better compatibility with infix macros.
blakeaw Jul 18, 2025
e56bfd5
New getting started and about qspy pages in docs. Also include logos.
blakeaw Jul 18, 2025
84cfb9c
More updates to docs.
blakeaw Jul 23, 2025
9906e06
Experimental features docs page.
blakeaw Jul 23, 2025
582ce8a
Updated contributing to note usage of Ruff formatter.
blakeaw Jul 23, 2025
49dd842
Updates to imports and new macros subpackage incorporating core pysb …
blakeaw Jul 23, 2025
423fabf
Added a code of conduct file.
blakeaw Jul 23, 2025
bd41276
Experimental feature: functional monomers.
blakeaw Jul 23, 2025
61f7775
Reorganized contexts into its own submodule.
blakeaw Jul 23, 2025
53d9695
Updated docstring of Monomer.__pow__ and applied formatter.
blakeaw Jul 23, 2025
f7194a0
Added new OUTPUT_DIR Path object for the base log/output path and fun…
blakeaw Jul 25, 2025
367ba3c
New docs page for outputs and logs.
blakeaw Jul 25, 2025
2a711b5
Other updates to docs pages.
blakeaw Jul 25, 2025
edfc6dc
Updates to docs and added SUPPORT file at root.
blakeaw Jul 28, 2025
109aeb4
Added a CONTRIBUTORS file.
blakeaw Jul 28, 2025
96a3a1a
Added a CONTRIBUTORS file.
blakeaw Jul 29, 2025
fe8b469
Updated the model specification docs page to include the mermaid diag…
blakeaw Jul 29, 2025
844477c
Added LR_comp example model definition. Fixes to the compartments con…
blakeaw Jul 29, 2025
4bba494
Navig-8 hey listen image.
blakeaw Jul 29, 2025
cdce595
Fixed the FreeR observable.
blakeaw Jul 29, 2025
5af98a1
conda env file
blakeaw Jul 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# .coveragerc

[run]
source = qspy

[report]
omit =
*/tests/*
*/site-packages/*
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Change Log
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).

## [0.1.0] - 2025-07-03

### Added
- Initial development version of the package, prepared for release.

------

## Entry format

## [Unreleased] - yyyy-mm-dd

N/A

### Added

### Changed

### Fixed
131 changes: 131 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@

# Contributor Covenant Code of Conduct

[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md)

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
- Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

- The use of sexualized language or imagery, and sexual attention or advances of
any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email address,
without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official email address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[INSERT CONTACT METHOD].
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the
[Contributor Covenant](https://www.contributor-covenant.org/), version 2.1,
available at
<https://www.contributor-covenant.org/version/2/1/code_of_conduct/>.

Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/inclusion).

For answers to common questions about this code of conduct, see the FAQ at
<https://www.contributor-covenant.org/faq/>. Translations are available at
<https://www.contributor-covenant.org/translations/>.

66 changes: 66 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Before getting started

Thank you for contributing! Bug reports, feature requests, bug fixes or other contributions are all welcomed.

## Coding conventions

GitHub is used to host code, track issues, and accept pull requests. This project uses [semantic versioning](https://semver.org/) and keeps a [CHANGELOG](./CHANGELOG.md). Google style docstrings are used, and [Ruff formatting](https://docs.astral.sh/ruff/formatter/) is applied to code. For new functions, it is requested that type annotations be included in the function definition.


# How to contribute


## Issues

One great non-code way to contribute is to open an issue.

### Types of Issues

Here are the different types of Issues you can contribute:

* :bug: **Bug Reports**: Problem, errors, or other issues where the code is not working as expected. Please use the `bug` label.
* :bulb: **Feauture Request/Suggestion**: Request or suggest some new functionality or an update/change to existing functionality. Please use the `enhancement` label.

### Creating a new issue

You can open issues here: [https://github.com/Borealis-BioModeling/qspy/issues](https://github.com/Borealis-BioModeling/qspy/issues).

However, before creating a new issue, please check the existing issues first to see if your issue or a similar one has already been raised. If it has, please add a comment to the existing issue rather than creating a new duplicate issue; e.g., with a bug report commenting with something like "I am also experiencing this problem" along with any additional context about your specific environment and package versions should suffice.

For all Bug Report issues, please provide context, including the environment and relevant package versions, code snippets for the offending code/use when applicable, a description of the expected outcome, and the actual outcome with associated error messages when applicable.

### Support

If you have support questions you can email them to [blakeaw1102@gmail.com](mailto:blakeaw1102@gmail.com)

## Pull Requests

If you want to contribute code that fixes bugs or adds new features you can fork the repository and open a pull request as described below.

However, before doing so, please ask first. You can do so by commenting on the relevant Issue. This helps prevent duplicated or wasted efforts.

Note that for automated testing and coverage analysis requires the following:
[pytest](https://docs.pytest.org/en/stable/getting-started.html), [Coverage.py](https://coverage.readthedocs.io/en/7.6.10/install.html), and [nose](https://nose.readthedocs.io/en/latest/).
```
pip install pytest coverage nose
```

PR contribution steps:

1. [Fork the repo](https://github.com/Borealis-BioModeling/qspy/fork)
2. Create a new branch, e.g.:
* **Bug Fix:** `fix/issue-number`, e.g. `fix/11`
* **New Feature** `feature/new-feature`, e.g. `feature/foo-bar`
3. For feature additions, please include additional tests for the new feature.
4. Run all the tests using pytest: `python -m pytest` - or also with coverage (Coverage.py) analysis: `coverage run -m pytest`
5. Once your branch passes all the tests, commit your changes, e.g. `git commit -am 'Add the new-feature feature.'`
7. Push the branch to your fork, e.g. `git push origin feature/new-feature`
8. Create a new [Pull request](https://github.com/Borealis-BioModeling/qspy/pulls). Reference any relevant Issues in the PR description.

Please note that any code contributions will be licensed according to this project's [LICENSE](./LICENSE).

## Code of Conduct

All contributions will be considered based solely on their quality and fit with the overall direction of the project.

All contributors are expected to be kind and respectful to one another. Behavior that is harmful to your fellow contributors is not acceptable.
15 changes: 15 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# QSPy Contributors

Thank you to everyone who has contributed to the success of this project!

## Core Contributors

* **Blake A. Wilson** (@blakeaw) - Lead Developer, Project Maintainer

## Valued Contributors

* **Your name could be here** (@contributor) - Bug fixes, Documentation improvements, etc.

## Special Thanks

* **PySB Developers and Contributors** - QSPy is built on top of [PySB](https://pysb.org/), so wouldn't be possible without the hard work of PySB developers and contributors!
Loading
Loading