Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
f7afa08
Merge pull request #2 from vmspereira/vpereira/dev
vmspereira Jun 9, 2024
eb9e757
[delete] duplicate
vmspereira Jun 9, 2024
aedf204
[UPDATE] Normalize comunity flux option
vmspereira Jun 19, 2024
4234559
version 0.1.35
vmspereira Jun 22, 2024
65aebb4
Merge pull request #3 from vmspereira/vpereira/dev
vmspereira Jun 22, 2024
550b66b
Update README
vmspereira Jun 22, 2024
0296164
Update workflow
vmspereira Jun 22, 2024
81c5abf
Update notebooks
vmspereira Jun 24, 2024
02b5b00
Merge pull request #4 from vmspereira/dev
vmspereira Jun 28, 2024
f8e2dd9
Update notebooks
vmspereira Jun 28, 2024
d20a7ef
Merge pull request #5 from vmspereira/dev
vmspereira Jun 28, 2024
c4f94f1
Update notebooks
vmspereira Jun 29, 2024
07b14e4
Add exchanges analysis for communities
vmspereira Jun 29, 2024
49b6be4
Bump to version 0.1.36
vmspereira Jun 29, 2024
987c45c
Merge pull request #6 from vmspereira/dev
vmspereira Jun 29, 2024
3388664
update docs
vmspereira Jun 29, 2024
b2b286c
Merge pull request #7 from vmspereira/dev
vmspereira Jun 29, 2024
96c6583
add readthedocs yaml
vmspereira Jun 29, 2024
b8d0ed1
Merge pull request #8 from vmspereira/dev
vmspereira Jun 29, 2024
cfb45a0
update docs requirements
vmspereira Jun 29, 2024
fa50d7e
Merge pull request #9 from vmspereira/dev
vmspereira Jun 29, 2024
f708998
[UPDATE] parsing
vmspereira Dec 14, 2024
a31b911
[UPDATE] copasi function definitions support
vmspereira Dec 14, 2024
d197ecb
[ADD] example
vmspereira Dec 14, 2024
d0b0fe8
Bump to version 1.0.0
vmspereira Dec 15, 2024
3bf69b0
update action
vmspereira Dec 15, 2024
dc21b32
Merge pull request #10 from vmspereira/dev
vmspereira Dec 15, 2024
90a9b91
update install and dependencies
Jul 30, 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
104 changes: 104 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
name: CI

on:
push:
branches: [ master, main, develop ]
pull_request:
branches: [ master, main, develop ]

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
exclude:
# Reduce matrix size for faster builds
- os: windows-latest
python-version: "3.8"
- os: macos-latest
python-version: "3.8"

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build pytest pytest-cov
pip install -e .[test]

- name: Run tests
run: |
pytest --cov=mewpy --cov-report=xml --cov-report=term-missing

- name: Upload coverage to Codecov
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10'
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
fail_ci_if_error: false

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 black isort
pip install -e .

- name: Lint with flake8
run: |
flake8 src tests

- name: Check formatting with black
run: |
black --check src tests

- name: Check import sorting with isort
run: |
isort --check-only src tests

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"

- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install build twine

- name: Build package
run: |
python -m build

- name: Check package
run: |
twine check dist/*

- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: dist-files
path: dist/
10 changes: 4 additions & 6 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ name: CI-CD
on:
push:
branches:
- devel
- dev
tags:
- '[0-9]+.[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+a[0-9]+'
pull_request:
branches:
- devel
- dev

jobs:
test:
Expand All @@ -18,7 +18,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.7]
python-version: [3.9]

steps:
- uses: actions/checkout@v2
Expand All @@ -33,6 +33,4 @@ jobs:
- name: Test with tox
run:
tox -e py
- name: Report coverage
shell: bash
run: bash <(curl -s https://codecov.io/bash)

188 changes: 173 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,19 +1,177 @@
.vscode/
venv/
__pycache__
docs/build/
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
dist
.idea
mewpy.egg-info
examples/models/gecko/eciML1515_batch.xml
*.log
.tox
.eggs
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.pytest_cache
htmlcov
run_tox.sh
tests/reports/
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/
docs/build/
builddoc/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be added to the global gitignore or merged into this project gitignore. For a PyCharm
# project, it is generally recommended to include the .idea directory in version control.
.idea/

# VS Code
.vscode/

# macOS
.DS_Store

# Windows
Thumbs.db
ehthumbs.db
Desktop.ini

# Project specific
tests/reports/
examples/models/gecko/eciML1515_batch.xml
run_tox.sh
35 changes: 35 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Read the Docs configuration file for Sphinx projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.12"
# You can also specify other tool versions:
# nodejs: "20"
# rust: "1.70"
# golang: "1.20"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
# builder: "dirhtml"
# Fail on all warnings to avoid broken references
# fail_on_warning: true

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: docs/requirements.txt
18 changes: 15 additions & 3 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
include README.md
include LICENSE
include requirements.txt
include pyproject.toml

# Include package data
graft src/mewpy/model/data
recursive-include src/mewpy *.xml *.csv *.txt

# Include documentation
recursive-include docs *.rst conf.py Makefile make.bat *.jpg *.png *.gif *.md

# Include examples
recursive-include examples *.ipynb *.py *.md *.csv
graft examples/models

# Exclude compiled Python files
recursive-exclude * __pycache__
recursive-exclude * *.py[co]
include mewpy/model/data/*
recursive-include docs *.rst conf.py Makefile make.bat *.jpg *.png *.gif
recursive-exclude * *.py[co]
recursive-exclude * .DS_Store
Loading
Loading