From 2fb24de9f89660e79439c15ad63676c7c803f45c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Jun 2026 07:14:46 +0000 Subject: [PATCH 1/4] Initial plan From f0eee214fdc2dd2b8f906640fdf103cb3b738f67 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Jun 2026 07:16:20 +0000 Subject: [PATCH 2/4] docs: prepare single-file module for initial release - Update Installation section with end-user GitHub release install command, keep editable install for contributors, note PyPI not yet configured - Move bibtex citation block into its own Citation section (was embedded after the last Use Cases item) - Update citation note to reference v0.1.0 as the initial release --- README.md | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6d2958e..ab6efee 100644 --- a/README.md +++ b/README.md @@ -29,17 +29,30 @@ Use `engine.py` to **analyse** stochastic systems and **steer** trajectories tow ## Installation -**Standard install (recommended)** +> **Note:** PyPI publishing is not yet configured. Install directly from a GitHub release or from a local clone. + +**Install from a GitHub release (end users)** + +After the `v0.1.0` tag is published as a GitHub Release, install with: ```bash -pip install -e . +pip install "jump-diffusion-engine @ https://github.com/beanapologist/Jump-Diffusion-Engine/archive/refs/tags/v0.1.0.tar.gz" ``` -This installs the package and all dependencies from the root of the repository. +Replace `v0.1.0` with the tag you want. All releases are listed on the +[Releases page](https://github.com/beanapologist/Jump-Diffusion-Engine/releases). + +**Editable install from source (contributors)** + +```bash +git clone https://github.com/beanapologist/Jump-Diffusion-Engine.git +cd Jump-Diffusion-Engine +pip install -e . +``` **Manual dependency install** -If you prefer not to use the package install, install dependencies directly: +If you prefer not to install the package, install dependencies directly: ```bash pip install numpy scipy matplotlib @@ -164,6 +177,11 @@ When training a robot to walk, you do not want it to explore so far that it brea - **The Jumps (`J`):** A person pushing the robot or an uneven floor. - **Use Case:** Ensuring the robot's brain always stays within a safe operational basin. +## Citation + +If you use this software in your research, please cite it as below. +A Zenodo DOI will be added after the first Zenodo-backed release is published. + ```bibtex @software{SarahMarin_JumpDiffusionEngine_2026, author = {Sarah Marin}, @@ -171,7 +189,7 @@ When training a robot to walk, you do not want it to explore so far that it brea year = {2026}, publisher = {GitHub}, url = {https://github.com/beanapologist/Jump-Diffusion-Engine}, - note = {Versioned releases archived on Zenodo; DOI will be added after the first Zenodo-backed release} + note = {Version 0.1.0 – initial release. Zenodo DOI will be added after the first Zenodo-backed release.} } ``` From 53ce94cf5614ff86945fedb19f88cdec11749c71 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Jun 2026 07:16:54 +0000 Subject: [PATCH 3/4] docs: clarify Zenodo archiving wording in Citation section --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ab6efee..a5d8f92 100644 --- a/README.md +++ b/README.md @@ -180,7 +180,7 @@ When training a robot to walk, you do not want it to explore so far that it brea ## Citation If you use this software in your research, please cite it as below. -A Zenodo DOI will be added after the first Zenodo-backed release is published. +A Zenodo DOI will be added after this release is archived on Zenodo. ```bibtex @software{SarahMarin_JumpDiffusionEngine_2026, @@ -189,7 +189,7 @@ A Zenodo DOI will be added after the first Zenodo-backed release is published. year = {2026}, publisher = {GitHub}, url = {https://github.com/beanapologist/Jump-Diffusion-Engine}, - note = {Version 0.1.0 – initial release. Zenodo DOI will be added after the first Zenodo-backed release.} + note = {Version 0.1.0 – initial release; Zenodo archiving pending} } ``` From 16c4ca0b4e10f08561370bf0fc041715f1c762e6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Jun 2026 07:25:41 +0000 Subject: [PATCH 4/4] refactor: rename engine.py to jump_diffusion_engine.py Update all references across tests, CI workflow, README, CHANGELOG, and pyproject.toml to use the new module name. --- .github/workflows/ci.yml | 2 +- CHANGELOG.md | 2 +- README.md | 6 +++--- engine.py => jump_diffusion_engine.py | 0 pyproject.toml | 2 +- tests/test_engine.py | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) rename engine.py => jump_diffusion_engine.py (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 167cb44..bde623a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,7 +53,7 @@ jobs: - name: Verify wheel installs cleanly run: | pip install dist/*.whl - python -c "from engine import JumpDiffusionEngine; print('import OK')" + python -c "from jump_diffusion_engine import JumpDiffusionEngine; print('import OK')" - name: Upload distributions uses: actions/upload-artifact@v4 diff --git a/CHANGELOG.md b/CHANGELOG.md index bfe7465..5d5a4ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.ht ### Added - Initial public release of Jump-Diffusion-Engine. -- Core simulation and stochastic stability analysis methods in `engine.py`. +- Core simulation and stochastic stability analysis methods in `jump_diffusion_engine.py`. - Automated test suite and CI workflow for Python 3.9–3.12. - Packaging metadata for setuptools-based builds. diff --git a/README.md b/README.md index a5d8f92..556711f 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ subject to continuous diffusion and discrete jump noise. - `f(Δ) = kΔ + gΔ²/(K²+Δ²)` — the nonlinear sink (linear + saturating) - `Δ* : Λ = f(Δ), f′(Δ*) > 0` — a stable equilibrium (basin centre) -Use `engine.py` to **analyse** stochastic systems and **steer** trajectories toward stable basins: +Use `jump_diffusion_engine.py` to **analyse** stochastic systems and **steer** trajectories toward stable basins: | # | Action | Method | What it does | |:-|:---|:---|:---| @@ -61,14 +61,14 @@ pip install numpy scipy matplotlib Then add the repository root to your Python path and import: ```python -from engine import JumpDiffusionEngine +from jump_diffusion_engine import JumpDiffusionEngine ``` ## Quick Start ```python import numpy as np -from engine import JumpDiffusionEngine +from jump_diffusion_engine import JumpDiffusionEngine # Define a source: constant with a small oscillation def lambda_func(t): diff --git a/engine.py b/jump_diffusion_engine.py similarity index 100% rename from engine.py rename to jump_diffusion_engine.py diff --git a/pyproject.toml b/pyproject.toml index 1067349..66d2c12 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ Changelog = "https://github.com/beanapologist/Jump-Diffusion-Engine/blob/main/CH dev = ["pytest>=7.0"] [tool.setuptools] -py-modules = ["engine"] +py-modules = ["jump_diffusion_engine"] [tool.pytest.ini_options] testpaths = ["tests"] diff --git a/tests/test_engine.py b/tests/test_engine.py index 9084a5d..b1db9de 100644 --- a/tests/test_engine.py +++ b/tests/test_engine.py @@ -11,7 +11,7 @@ # Allow importing engine from the repo root when running with pytest from any cwd sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..")) -from engine import JumpDiffusionEngine +from jump_diffusion_engine import JumpDiffusionEngine # ---------------------------------------------------------------------------