@@ -1,48 +1,48 @@
--rw-r--r-- 0 0 0 712 1970-01-01 00:00:00.000000 bosing-2.0.5/Cargo.toml
--rw-r--r-- 0 1001 127 505 2024-05-23 09:57:54.000000 bosing-2.0.5/.github/dependabot.yml
--rw-r--r-- 0 1001 127 690 2024-05-23 09:57:54.000000 bosing-2.0.5/.github/workflows/auto-dep.yml
--rw-r--r-- 0 1001 127 6323 2024-05-23 09:57:54.000000 bosing-2.0.5/.github/workflows/ci.yml
--rw-r--r-- 0 1001 127 696 2024-05-23 09:57:54.000000 bosing-2.0.5/.gitignore
--rw-r--r-- 0 1001 127 972 2024-05-23 09:57:54.000000 bosing-2.0.5/.readthedocs.yaml
--rw-r--r-- 0 1001 127 1068 2024-05-23 09:57:54.000000 bosing-2.0.5/LICENSE.txt
--rw-r--r-- 0 1001 127 1360 2024-05-23 09:57:54.000000 bosing-2.0.5/README.md
--rw-r--r-- 0 1001 127 10767 2024-05-23 09:57:54.000000 bosing-2.0.5/bosing.pyi
--rw-r--r-- 0 1001 127 78 2024-05-23 09:57:54.000000 bosing-2.0.5/clippy.toml
--rw-r--r-- 0 1001 127 634 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/Makefile
--rw-r--r-- 0 1001 127 175 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/_templates/autosummary/class.rst
--rw-r--r-- 0 1001 127 1147 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/_templates/autosummary/module.rst
--rw-r--r-- 0 1001 127 82 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/api.rst
--rw-r--r-- 0 1001 127 1464 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/conf.py
--rw-r--r-- 0 1001 127 1258 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/index.rst
--rw-r--r-- 0 1001 127 1716 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/instruction.rst
--rw-r--r-- 0 1001 127 765 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/make.bat
--rw-r--r-- 0 1001 127 347 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/quickstart.rst
--rw-r--r-- 0 1001 127 22 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/requirements.txt
--rw-r--r-- 0 1001 127 5534 2024-05-23 09:57:54.000000 bosing-2.0.5/docs/schedule.rst
--rw-r--r-- 0 1001 127 1171 2024-05-23 09:57:54.000000 bosing-2.0.5/example/flexible.py
--rw-r--r-- 0 1001 127 533 2024-05-23 09:57:54.000000 bosing-2.0.5/example/hann.py
--rw-r--r-- 0 1001 127 788 2024-05-23 09:57:54.000000 bosing-2.0.5/example/interp.py
--rw-r--r-- 0 1001 127 696 2024-05-23 09:57:54.000000 bosing-2.0.5/example/overlap.py
--rw-r--r-- 0 1001 127 2074 2024-05-23 09:57:54.000000 bosing-2.0.5/example/schedule.py
--rw-r--r-- 0 1001 127 2362 2024-05-23 09:57:54.000000 bosing-2.0.5/example/schedule_stress.py
--rw-r--r-- 0 1001 127 6064 2024-05-23 09:57:54.000000 bosing-2.0.5/ruff_defaults.toml
--rw-r--r-- 0 1001 127 11370 2024-05-23 09:57:54.000000 bosing-2.0.5/src/executor.rs
--rw-r--r-- 0 1001 127 62682 2024-05-23 09:57:54.000000 bosing-2.0.5/src/lib.rs
--rw-r--r-- 0 1001 127 17863 2024-05-23 09:57:54.000000 bosing-2.0.5/src/pulse.rs
--rw-r--r-- 0 1001 127 7540 2024-05-23 09:57:54.000000 bosing-2.0.5/src/quant.rs
--rw-r--r-- 0 1001 127 2367 2024-05-23 09:57:54.000000 bosing-2.0.5/src/schedule/absolute.rs
--rw-r--r-- 0 1001 127 9689 2024-05-23 09:57:54.000000 bosing-2.0.5/src/schedule/grid/helper.rs
--rw-r--r-- 0 1001 127 6941 2024-05-23 09:57:54.000000 bosing-2.0.5/src/schedule/grid.rs
--rw-r--r-- 0 1001 127 3145 2024-05-23 09:57:54.000000 bosing-2.0.5/src/schedule/play.rs
--rw-r--r-- 0 1001 127 2010 2024-05-23 09:57:54.000000 bosing-2.0.5/src/schedule/repeat.rs
--rw-r--r-- 0 1001 127 3577 2024-05-23 09:57:54.000000 bosing-2.0.5/src/schedule/simple.rs
--rw-r--r-- 0 1001 127 3132 2024-05-23 09:57:54.000000 bosing-2.0.5/src/schedule/stack/helper.rs
--rw-r--r-- 0 1001 127 7464 2024-05-23 09:57:54.000000 bosing-2.0.5/src/schedule/stack.rs
--rw-r--r-- 0 1001 127 7859 2024-05-23 09:57:54.000000 bosing-2.0.5/src/schedule.rs
--rw-r--r-- 0 1001 127 7677 2024-05-23 09:57:54.000000 bosing-2.0.5/src/shape.rs
--rw-r--r-- 0 1001 127 14 2024-05-23 09:57:54.000000 bosing-2.0.5/stubtest-allowlist.txt
--rw-r--r-- 0 1001 127 0 2024-05-23 09:57:54.000000 bosing-2.0.5/tests/__init__.py
--rw-r--r-- 0 1001 127 1291 2024-05-23 09:57:54.000000 bosing-2.0.5/tests/test_basic.py
--rw-r--r-- 0 1001 127 22677 2024-05-23 09:58:06.000000 bosing-2.0.5/Cargo.lock
--rw-r--r-- 0 1001 127 1863 2024-05-23 09:57:54.000000 bosing-2.0.5/pyproject.toml
--rw-r--r-- 0 0 0 2249 1970-01-01 00:00:00.000000 bosing-2.0.5/PKG-INFO
+-rw-r--r-- 0 0 0 695 1970-01-01 00:00:00.000000 bosing-2.0.6/Cargo.toml
+-rw-r--r-- 0 1001 127 505 2024-06-01 12:01:49.000000 bosing-2.0.6/.github/dependabot.yml
+-rw-r--r-- 0 1001 127 690 2024-06-01 12:01:49.000000 bosing-2.0.6/.github/workflows/auto-dep.yml
+-rw-r--r-- 0 1001 127 6538 2024-06-01 12:01:49.000000 bosing-2.0.6/.github/workflows/ci.yml
+-rw-r--r-- 0 1001 127 696 2024-06-01 12:01:49.000000 bosing-2.0.6/.gitignore
+-rw-r--r-- 0 1001 127 971 2024-06-01 12:01:49.000000 bosing-2.0.6/.readthedocs.yaml
+-rw-r--r-- 0 1001 127 1068 2024-06-01 12:01:49.000000 bosing-2.0.6/LICENSE.txt
+-rw-r--r-- 0 1001 127 1360 2024-06-01 12:01:49.000000 bosing-2.0.6/README.md
+-rw-r--r-- 0 1001 127 10767 2024-06-01 12:01:49.000000 bosing-2.0.6/bosing.pyi
+-rw-r--r-- 0 1001 127 78 2024-06-01 12:01:49.000000 bosing-2.0.6/clippy.toml
+-rw-r--r-- 0 1001 127 634 2024-06-01 12:01:49.000000 bosing-2.0.6/docs/Makefile
+-rw-r--r-- 0 1001 127 175 2024-06-01 12:01:49.000000 bosing-2.0.6/docs/_templates/autosummary/class.rst
+-rw-r--r-- 0 1001 127 1147 2024-06-01 12:01:49.000000 bosing-2.0.6/docs/_templates/autosummary/module.rst
+-rw-r--r-- 0 1001 127 82 2024-06-01 12:01:49.000000 bosing-2.0.6/docs/api.rst
+-rw-r--r-- 0 1001 127 1478 2024-06-01 12:01:49.000000 bosing-2.0.6/docs/conf.py
+-rw-r--r-- 0 1001 127 1258 2024-06-01 12:01:49.000000 bosing-2.0.6/docs/index.rst
+-rw-r--r-- 0 1001 127 1716 2024-06-01 12:01:49.000000 bosing-2.0.6/docs/instruction.rst
+-rw-r--r-- 0 1001 127 765 2024-06-01 12:01:49.000000 bosing-2.0.6/docs/make.bat
+-rw-r--r-- 0 1001 127 347 2024-06-01 12:01:49.000000 bosing-2.0.6/docs/quickstart.rst
+-rw-r--r-- 0 1001 127 5534 2024-06-01 12:01:49.000000 bosing-2.0.6/docs/schedule.rst
+-rw-r--r-- 0 1001 127 1171 2024-06-01 12:01:49.000000 bosing-2.0.6/example/flexible.py
+-rw-r--r-- 0 1001 127 533 2024-06-01 12:01:49.000000 bosing-2.0.6/example/hann.py
+-rw-r--r-- 0 1001 127 788 2024-06-01 12:01:49.000000 bosing-2.0.6/example/interp.py
+-rw-r--r-- 0 1001 127 696 2024-06-01 12:01:49.000000 bosing-2.0.6/example/overlap.py
+-rw-r--r-- 0 1001 127 2074 2024-06-01 12:01:49.000000 bosing-2.0.6/example/schedule.py
+-rw-r--r-- 0 1001 127 2362 2024-06-01 12:01:49.000000 bosing-2.0.6/example/schedule_stress.py
+-rw-r--r-- 0 1001 127 6327 2024-06-01 12:01:49.000000 bosing-2.0.6/ruff_defaults.toml
+-rw-r--r-- 0 1001 127 11370 2024-06-01 12:01:49.000000 bosing-2.0.6/src/executor.rs
+-rw-r--r-- 0 1001 127 62682 2024-06-01 12:01:49.000000 bosing-2.0.6/src/lib.rs
+-rw-r--r-- 0 1001 127 7861 2024-06-01 12:01:49.000000 bosing-2.0.6/src/pulse/iir.rs
+-rw-r--r-- 0 1001 127 17055 2024-06-01 12:01:49.000000 bosing-2.0.6/src/pulse.rs
+-rw-r--r-- 0 1001 127 7540 2024-06-01 12:01:49.000000 bosing-2.0.6/src/quant.rs
+-rw-r--r-- 0 1001 127 2367 2024-06-01 12:01:49.000000 bosing-2.0.6/src/schedule/absolute.rs
+-rw-r--r-- 0 1001 127 9689 2024-06-01 12:01:49.000000 bosing-2.0.6/src/schedule/grid/helper.rs
+-rw-r--r-- 0 1001 127 6941 2024-06-01 12:01:49.000000 bosing-2.0.6/src/schedule/grid.rs
+-rw-r--r-- 0 1001 127 3145 2024-06-01 12:01:49.000000 bosing-2.0.6/src/schedule/play.rs
+-rw-r--r-- 0 1001 127 2010 2024-06-01 12:01:49.000000 bosing-2.0.6/src/schedule/repeat.rs
+-rw-r--r-- 0 1001 127 3577 2024-06-01 12:01:49.000000 bosing-2.0.6/src/schedule/simple.rs
+-rw-r--r-- 0 1001 127 3132 2024-06-01 12:01:49.000000 bosing-2.0.6/src/schedule/stack/helper.rs
+-rw-r--r-- 0 1001 127 7464 2024-06-01 12:01:49.000000 bosing-2.0.6/src/schedule/stack.rs
+-rw-r--r-- 0 1001 127 7859 2024-06-01 12:01:49.000000 bosing-2.0.6/src/schedule.rs
+-rw-r--r-- 0 1001 127 7677 2024-06-01 12:01:49.000000 bosing-2.0.6/src/shape.rs
+-rw-r--r-- 0 1001 127 14 2024-06-01 12:01:49.000000 bosing-2.0.6/stubtest-allowlist.txt
+-rw-r--r-- 0 1001 127 0 2024-06-01 12:01:49.000000 bosing-2.0.6/tests/__init__.py
+-rw-r--r-- 0 1001 127 1291 2024-06-01 12:01:49.000000 bosing-2.0.6/tests/test_basic.py
+-rw-r--r-- 0 1001 127 22248 2024-06-01 12:02:02.000000 bosing-2.0.6/Cargo.lock
+-rw-r--r-- 0 1001 127 1840 2024-06-01 12:01:49.000000 bosing-2.0.6/pyproject.toml
+-rw-r--r-- 0 0 0 2419 1970-01-01 00:00:00.000000 bosing-2.0.6/PKG-INFO
- Files 17% similar despite different names
@@ -1,21 +1,20 @@
[package]
name = "bosing"
-version = "2.0.5"
+version = "2.0.6"
edition = "2021"
license = "MIT"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
name = "bosing"
crate-type = ["cdylib"]
[dependencies]
anyhow = "1.0.82"
-biquad = "0.4.2"
bspline = "1.1.0"
cached = "0.50.0"
float-cmp = "0.9.0"
hashbrown = { version = "0.14.5", features = ["rayon"] }
indoc = "2.0.5"
itertools = "0.12.1"
ndarray = { version = "0.15.6", features = ["rayon"] }
- Files identical despite different names
- Files 6% similar despite different names
@@ -31,23 +31,27 @@
steps:
- uses: actions/checkout@v4
- name: Cargo build
run: cargo build --verbose
- name: Cargo test
run: cargo test --verbose
+ - name: Cargo fmt
+ run: cargo fmt --check
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- - name: Install hatch
- run: |
- python -m pip install --upgrade pip
- pip install hatch
+ - name: Install Hatch
+ uses: pypa/hatch@a3c83ab3d481fbc2dc91dd0088628817488dd1d5
+ with:
+ version: 1.11.1
- name: Test
- run: hatch run test:run
+ run: hatch test --all
+ - name: Lint
+ run: hatch fmt --check
- name: Stubtest
run: hatch run stubcheck
# Should run on every push and PR, but only run semantic-release on push
release:
name: Run semantic-release
runs-on: ubuntu-latest
@@ -58,15 +62,15 @@
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Semantic Release
- uses: codfish/semantic-release-action@v3
+ uses: docker://ghcr.io/codfish/semantic-release-action@sha256:71048986f7e28f024cbad0ef106a7ef20b9b0d322f3a8aa51d89f1c424e75061 # v3.3.0
# Only run on push events
if: github.event_name == 'push'
id: semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
plugins: |
- Files identical despite different names
- Files 13% similar despite different names
@@ -25,10 +25,11 @@
# - 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
- method: pip
path: .
+ extra_requirements:
+ - docs
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
Comparing bosing-2.0.5/docs/_templates/autosummary/module.rst
& bosing-2.0.6/docs/_templates/autosummary/module.rst
- Files identical despite different names
- Files 12% similar despite different names
@@ -3,15 +3,15 @@
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = "bosing"
-copyright = "2023, Jiahao Yuan"
+copyright = "2023, Jiahao Yuan" # noqa: A001
author = "Jiahao Yuan"
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = [
"sphinx.ext.viewcode",
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files 13% similar despite different names
@@ -45,14 +45,15 @@
"B028",
"B029",
"B030",
"B031",
"B032",
"B033",
"B034",
+ "B035",
"B904",
"B905",
"BLE001",
"C400",
"C401",
"C402",
"C403",
@@ -79,15 +80,14 @@
"DTZ006",
"DTZ007",
"DTZ011",
"DTZ012",
"E101",
"E401",
"E402",
- "E501",
"E701",
"E702",
"E703",
"E711",
"E712",
"E713",
"E714",
@@ -169,14 +169,18 @@
"ICN002",
"ICN003",
"INP001",
"INT001",
"INT002",
"INT003",
"ISC003",
+ "LOG001",
+ "LOG002",
+ "LOG007",
+ "LOG009",
"N801",
"N802",
"N803",
"N804",
"N805",
"N806",
"N807",
@@ -189,16 +193,14 @@
"N817",
"N818",
"N999",
"PERF101",
"PERF102",
"PERF401",
"PERF402",
- "PGH001",
- "PGH002",
"PGH005",
"PIE790",
"PIE794",
"PIE796",
"PIE800",
"PIE804",
"PIE807",
@@ -212,14 +214,15 @@
"PLC0414",
"PLC3002",
"PLE0100",
"PLE0101",
"PLE0116",
"PLE0117",
"PLE0118",
+ "PLE0237",
"PLE0241",
"PLE0302",
"PLE0307",
"PLE0604",
"PLE0605",
"PLE1142",
"PLE1205",
@@ -326,14 +329,15 @@
"PYI050",
"PYI051",
"PYI052",
"PYI053",
"PYI054",
"PYI055",
"PYI056",
+ "PYI058",
"RET503",
"RET504",
"RET505",
"RET506",
"RET507",
"RET508",
"RSE102",
@@ -342,32 +346,36 @@
"RUF003",
"RUF005",
"RUF006",
"RUF007",
"RUF008",
"RUF009",
"RUF010",
- "RUF011",
"RUF012",
"RUF013",
"RUF015",
"RUF016",
+ "RUF017",
+ "RUF018",
+ "RUF019",
+ "RUF020",
"RUF100",
- "RUF200",
"S101",
"S102",
"S103",
"S104",
"S105",
"S106",
"S107",
"S108",
"S110",
"S112",
"S113",
+ "S201",
+ "S202",
"S301",
"S302",
"S303",
"S304",
"S305",
"S306",
"S307",
@@ -383,36 +391,44 @@
"S318",
"S319",
"S320",
"S321",
"S323",
"S324",
"S501",
+ "S502",
+ "S503",
+ "S504",
+ "S505",
"S506",
+ "S507",
"S508",
"S509",
"S601",
"S602",
"S604",
"S605",
"S606",
"S607",
"S608",
"S609",
+ "S611",
"S612",
"S701",
+ "S702",
"SIM101",
"SIM102",
"SIM103",
"SIM105",
"SIM107",
"SIM108",
"SIM109",
"SIM110",
"SIM112",
+ "SIM113",
"SIM114",
"SIM115",
"SIM116",
"SIM117",
"SIM118",
"SIM201",
"SIM202",
@@ -422,37 +438,43 @@
"SIM212",
"SIM220",
"SIM221",
"SIM222",
"SIM223",
"SIM300",
"SIM910",
+ "SIM911",
"SLF001",
"SLOT000",
"SLOT001",
"SLOT002",
"T100",
"T201",
"T203",
"TCH001",
"TCH002",
"TCH003",
"TCH004",
"TCH005",
+ "TCH010",
"TD004",
"TD005",
"TD006",
"TD007",
"TID251",
"TID252",
"TID253",
+ "TRIO100",
+ "TRIO105",
+ "TRIO109",
+ "TRIO110",
+ "TRIO115",
"TRY002",
"TRY003",
"TRY004",
- "TRY200",
"TRY201",
"TRY300",
"TRY301",
"TRY302",
"TRY400",
"TRY401",
"UP001",
@@ -489,14 +511,15 @@
"UP034",
"UP035",
"UP036",
"UP037",
"UP038",
"UP039",
"UP040",
+ "UP041",
"W291",
"W292",
"W293",
"W505",
"W605",
"YTT101",
"YTT102",
- Files identical despite different names
- Files identical despite different names
- Files 4% similar despite different names
@@ -1,14 +1,15 @@
+mod iir;
+
use std::{
ops::{Add, Mul},
sync::Arc,
};
use anyhow::{bail, Context, Result};
-use biquad::Biquad as _;
use cached::proc_macro::cached;
use float_cmp::approx_eq;
use hashbrown::HashMap;
use itertools::{izip, Itertools};
use ndarray::{azip, s, ArrayView1, ArrayView2, ArrayViewMut2, Axis};
use numpy::Complex64;
use pulp::{Arch, Simd, WithSimd};
@@ -476,42 +477,15 @@
pub(crate) fn apply_offset_inplace(waveform: &mut ArrayViewMut2<f64>, offset: ArrayView1<f64>) {
assert!(waveform.shape()[0] == offset.len());
azip!((mut row in waveform.axis_iter_mut(Axis(0)), &offset in &offset) row += offset);
}
pub(crate) fn apply_iir_inplace(waveform: &mut ArrayViewMut2<f64>, sos: ArrayView2<f64>) {
- let mut biquads: Vec<_> = sos
- .axis_iter(Axis(0))
- .map(|row| {
- let b0 = row[0];
- let b1 = row[1];
- let b2 = row[2];
- let a1 = row[4];
- let a2 = row[5];
- let coef = biquad::Coefficients { b0, a1, a2, b1, b2 };
- biquad::DirectForm2Transposed::<f64>::new(coef)
- })
- .collect();
- for mut row in waveform.axis_iter_mut(Axis(0)) {
- apply_iir_inplace_1d(row.as_slice_mut().unwrap(), &mut biquads);
- }
-}
-
-fn apply_iir_inplace_1d(waveform: &mut [f64], biquads: &mut [biquad::DirectForm2Transposed<f64>]) {
- for biquad in biquads.iter_mut() {
- biquad.reset_state();
- }
- for y in waveform.iter_mut() {
- let mut x = *y;
- for biquad in biquads.iter_mut() {
- x = biquad.run(x);
- }
- *y = x;
- }
+ self::iir::iir_filter_inplace(waveform.view_mut(), sos).unwrap()
}
pub(crate) fn apply_fir_inplace(waveform: &mut ArrayViewMut2<f64>, taps: ArrayView1<f64>) {
let arch = Arch::new();
arch.dispatch(ApplyFirInplace {
waveform: waveform.view_mut(),
taps,
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files identical despite different names
- Files 1% similar despite different names
@@ -35,34 +35,24 @@
[[package]]
name = "autocfg"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
[[package]]
-name = "biquad"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "820524f5e3e3add696ddf69f79575772e152c0e78e9f0370b56990a7e808ec3e"
-dependencies = [
- "libm 0.1.4",
-]
-
-[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bosing"
-version = "2.0.5"
+version = "2.0.6"
dependencies = [
"anyhow",
- "biquad",
"bspline",
"cached",
"float-cmp",
"hashbrown",
"indoc",
"itertools",
"mockall",
@@ -282,20 +272,14 @@
name = "libc"
version = "0.2.153"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]]
name = "libm"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
-
-[[package]]
-name = "libm"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "lock_api"
version = "0.4.11"
@@ -539,15 +523,15 @@
[[package]]
name = "pulp"
version = "0.18.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "762ad20f6b65f5a33874de3b7506d6cf6631d37fb9c0c6ee0e310d7210a167d9"
dependencies = [
"bytemuck",
- "libm 0.2.8",
+ "libm",
"num-complex",
"reborrow",
]
[[package]]
name = "pyo3"
version = "0.21.2"
- Files 10% similar despite different names
@@ -15,56 +15,51 @@
"Programming Language :: Rust",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering",
"License :: OSI Approved :: MIT License",
]
-dependencies = ["numpy", "scipy"]
+dependencies = ["numpy >= 1.16.0"]
+
+[project.optional-dependencies]
+docs = ["sphinx", "furo", "matplotlib", "scipy"]
[project.urls]
Documentation = "https://bosing.readthedocs.io/"
Issues = "https://github.com/kahojyun/Bosing/issues"
Source = "https://github.com/kahojyun/Bosing"
[tool.maturin]
features = ["pyo3/extension-module"]
[tool.hatch.envs.default]
+features = ["docs"]
dependencies = [
"maturin>=1.5,<2.0",
- "matplotlib",
"ipython",
- "sphinx",
- "furo",
"mypy",
]
[tool.hatch.envs.default.scripts]
mip = "maturin develop && ipython"
stubcheck = "maturin develop && stubtest bosing --allowlist stubtest-allowlist.txt"
build_docs = "maturin develop && sphinx-build -M html docs docs/_build {args}"
clean_docs = "rm -rf docs/_build docs/generated"
[tool.hatch.envs.default.overrides]
platform.windows.scripts = [
'clean_docs=rmdir /s /q docs\\_build docs\\generated',
]
-[tool.hatch.envs.test]
-dependencies = ["pytest"]
-
-[[tool.hatch.envs.test.matrix]]
+[[tool.hatch.envs.hatch-test.matrix]]
python = ["3.8", "3.9", "3.10", "3.11", "3.12"]
-[tool.hatch.envs.test.scripts]
-run = "pytest {args}"
-
-[tool.pytest.ini_options]
-addopts = ["--import-mode=importlib"]
-testpaths = ["tests"]
-
[tool.hatch.envs.hatch-static-analysis]
config-path = "ruff_defaults.toml"
[tool.ruff]
extend = "ruff_defaults.toml"
+
+[tool.ruff.lint.extend-per-file-ignores]
+"docs/conf.py" = ["INP001"]
+"example/*" = ["INP001", "T201"]
- Files 10% similar despite different names
@@ -1,19 +1,23 @@
Metadata-Version: 2.3
Name: bosing
-Version: 2.0.5
+Version: 2.0.6
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: License :: OSI Approved :: MIT License
-Requires-Dist: numpy
-Requires-Dist: scipy
+Requires-Dist: numpy >=1.16.0
+Requires-Dist: sphinx ; extra == 'docs'
+Requires-Dist: furo ; extra == 'docs'
+Requires-Dist: matplotlib ; extra == 'docs'
+Requires-Dist: scipy ; extra == 'docs'
+Provides-Extra: docs
License-File: LICENSE.txt
Summary: Waveform generator for pulse sequences in quantum computing
Keywords:
Author-email: kaho <[email protected]>
License: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM