diff --git a/.gitignore b/.gitignore index 54f0d2e4..c13a16f0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea .task +docs # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/pyproject.toml b/pyproject.toml index b12e5bd0..8ffe7511 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,11 +6,11 @@ authors = [{name = "Thomas Schmelzer", email = "thomas.schmelzer@gmail.com"}] readme = "README.md" requires-python = ">=3.10" dependencies = [ - "cvxpy-base>=1.6.0", - "jquantstats>=0.0.14", - "numpy>=2.1.3", + "cvxpy-base>=1.5.1", + "jquantstats>=0.0.15", + "numpy>=2.0", "pandas>=2.2.3", - "polars>=1.29.0", + "polars>=1.18.0", ] [project.urls] @@ -30,7 +30,7 @@ dev = [ line-length = 120 target-version = "py310" exclude = [ - "*__init__.py" + "src/cvx/simulator/__init__.py" ] [tool.ruff.lint] diff --git a/src/cvx/simulator/__init__.py b/src/cvx/simulator/__init__.py index a846f4b3..7170b654 100644 --- a/src/cvx/simulator/__init__.py +++ b/src/cvx/simulator/__init__.py @@ -24,8 +24,17 @@ - State: Represents the current state of a portfolio during simulation - interpolate: Utility function for interpolating missing values in time series """ +from importlib.metadata import version +__version__ = version("cvxsimulator") from .builder import Builder from .portfolio import Portfolio from .state import State from .utils.interpolation import interpolate + +__all__ = [ + "Builder", + "Portfolio", + "State", + "interpolate" +] diff --git a/src/tests/test_version.py b/src/tests/test_version.py new file mode 100644 index 00000000..faff9f47 --- /dev/null +++ b/src/tests/test_version.py @@ -0,0 +1,5 @@ +import cvx.simulator + + +def test_version(): + assert cvx.simulator.__version__ is not None diff --git a/uv.lock b/uv.lock index 64885770..c0aa424c 100644 --- a/uv.lock +++ b/uv.lock @@ -226,12 +226,12 @@ dev = [ [package.metadata] requires-dist = [ { name = "clarabel", marker = "extra == 'dev'", specifier = ">=0.9.0" }, - { name = "cvxpy-base", specifier = ">=1.6.0" }, - { name = "jquantstats", specifier = ">=0.0.14" }, + { name = "cvxpy-base", specifier = ">=1.5.1" }, + { name = "jquantstats", specifier = ">=0.0.15" }, { name = "loguru", marker = "extra == 'dev'" }, - { name = "numpy", specifier = ">=2.1.3" }, + { name = "numpy", specifier = ">=2.0" }, { name = "pandas", specifier = ">=2.2.3" }, - { name = "polars", specifier = ">=1.29.0" }, + { name = "polars", specifier = ">=1.18.0" }, { name = "pre-commit", marker = "extra == 'dev'", specifier = ">=4.0.1" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=8.3.3" }, { name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=6.0.0" }, @@ -289,7 +289,7 @@ wheels = [ [[package]] name = "jquantstats" -version = "0.0.14" +version = "0.0.15" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "kaleido" }, @@ -300,9 +300,9 @@ dependencies = [ { name = "pyarrow" }, { name = "scipy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ea/58/5281ba43db44bb57eec5c9c67973c41957935ff4ffc6bc40c55ee83a6f79/jquantstats-0.0.14.tar.gz", hash = "sha256:e4aec81f833867145d008f127df3d0de4d2660f963811d231c817386e57c526f", size = 17330, upload-time = "2025-05-23T12:08:24.809Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/9b/2c87de5e99489dc9ec6649c9ae1255229bcba06d44a9581066458550ba03/jquantstats-0.0.15.tar.gz", hash = "sha256:a31b1de6fc515932f3860c34281b9c430d28fff43d4fc39e29037613377a023e", size = 17335, upload-time = "2025-05-29T19:11:58.401Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/10/29/20a2e8e7ba2b941c6865502f224a4b7653a1b95b091747f521eb9b9a87e9/jquantstats-0.0.14-py3-none-any.whl", hash = "sha256:0b6a953a44686a9e7830400fb9e81afb5031848b8b36498c12fcf387f80ea095", size = 20538, upload-time = "2025-05-23T12:08:23.074Z" }, + { url = "https://files.pythonhosted.org/packages/ce/97/cf3084719265865d234b8f9b8e1fe7d0a406a02507e0d17c12c74e38c284/jquantstats-0.0.15-py3-none-any.whl", hash = "sha256:18ebfa84e25f8074f2ed8ebe614471b4d4c5664c3ac11f16dabc8d04d31c16ee", size = 20535, upload-time = "2025-05-29T19:11:57.103Z" }, ] [[package]]