msdatasets 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,43 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.10", "3.11", "3.12"]
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Install uv
20
+ uses: astral-sh/setup-uv@v5
21
+
22
+ - name: Set up Python ${{ matrix.python-version }}
23
+ run: uv python install ${{ matrix.python-version }}
24
+
25
+ - name: Install dependencies
26
+ run: uv sync --extra dev
27
+
28
+ - name: Run linting
29
+ run: uv run ruff check .
30
+
31
+ - name: Run format check
32
+ run: uv run ruff format --check .
33
+
34
+ - name: Run tests with coverage
35
+ run: uv run pytest --cov --cov-report=xml --cov-fail-under=80
36
+
37
+ - name: Upload coverage to Codecov
38
+ uses: codecov/codecov-action@v4
39
+ if: matrix.python-version == '3.12'
40
+ with:
41
+ token: ${{ secrets.CODECOV_TOKEN }}
42
+ files: ./coverage.xml
43
+ fail_ci_if_error: false
@@ -0,0 +1,49 @@
1
+ name: Deploy Docs
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: read
10
+ pages: write
11
+ id-token: write
12
+
13
+ concurrency:
14
+ group: pages
15
+ cancel-in-progress: false
16
+
17
+ jobs:
18
+ build:
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+
23
+ - name: Install uv
24
+ uses: astral-sh/setup-uv@v5
25
+
26
+ - name: Set up Python
27
+ run: uv python install 3.12
28
+
29
+ - name: Install dependencies
30
+ run: uv sync --extra docs
31
+
32
+ - name: Build docs
33
+ run: uv run mkdocs build
34
+
35
+ - name: Upload artifact
36
+ uses: actions/upload-pages-artifact@v3
37
+ with:
38
+ path: site/
39
+
40
+ deploy:
41
+ needs: build
42
+ runs-on: ubuntu-latest
43
+ environment:
44
+ name: github-pages
45
+ url: ${{ steps.deployment.outputs.page_url }}
46
+ steps:
47
+ - name: Deploy to GitHub Pages
48
+ id: deployment
49
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,42 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ build:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v4
12
+
13
+ - name: Install uv
14
+ uses: astral-sh/setup-uv@v5
15
+
16
+ - name: Set up Python
17
+ run: uv python install 3.12
18
+
19
+ - name: Build package
20
+ run: uv build
21
+
22
+ - name: Upload artifacts
23
+ uses: actions/upload-artifact@v4
24
+ with:
25
+ name: dist
26
+ path: dist/
27
+
28
+ publish:
29
+ needs: build
30
+ runs-on: ubuntu-latest
31
+ environment: pypi
32
+ permissions:
33
+ id-token: write
34
+ steps:
35
+ - name: Download artifacts
36
+ uses: actions/download-artifact@v4
37
+ with:
38
+ name: dist
39
+ path: dist/
40
+
41
+ - name: Publish to PyPI
42
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,71 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # Distribution / packaging
7
+ .Python
8
+ build/
9
+ develop-eggs/
10
+ dist/
11
+ downloads/
12
+ eggs/
13
+ .eggs/
14
+ lib/
15
+ lib64/
16
+ parts/
17
+ sdist/
18
+ var/
19
+ wheels/
20
+ *.egg-info/
21
+ *.egg
22
+
23
+ # PyInstaller
24
+ *.manifest
25
+ *.spec
26
+
27
+ # Installer logs
28
+ pip-log.txt
29
+ pip-delete-this-directory.txt
30
+
31
+ # Unit test / coverage reports
32
+ htmlcov/
33
+ .tox/
34
+ .nox/
35
+ .coverage
36
+ .coverage.*
37
+ .cache
38
+ nosetests.xml
39
+ coverage.xml
40
+ *.cover
41
+ *.py,cover
42
+ .hypothesis/
43
+ .pytest_cache/
44
+
45
+ # Environments
46
+ .env
47
+ .venv
48
+ env/
49
+ venv/
50
+ ENV/
51
+
52
+ # IDE
53
+ .idea/
54
+ .vscode/
55
+ *.swp
56
+ *.swo
57
+
58
+ # mypy
59
+ .mypy_cache/
60
+ .dmypy.json
61
+ dmypy.json
62
+
63
+ # ruff
64
+ .ruff_cache/
65
+
66
+ # OS
67
+ .DS_Store
68
+ Thumbs.db
69
+
70
+ # mkdocs
71
+ site/
@@ -0,0 +1,16 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: v0.9.1
4
+ hooks:
5
+ - id: ruff
6
+ args: [--fix]
7
+ - id: ruff-format
8
+ - repo: local
9
+ hooks:
10
+ - id: pytest
11
+ name: pytest
12
+ entry: uv run pytest --cov --cov-fail-under=80
13
+ language: system
14
+ pass_filenames: false
15
+ always_run: true
16
+ stages: [pre-commit]
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 msdatasets contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,66 @@
1
+ Metadata-Version: 2.4
2
+ Name: msdatasets
3
+ Version: 0.1.0
4
+ Summary: A unified dataset framework for mass spectrometry
5
+ Project-URL: Homepage, https://chrisagrams.github.io/msdatasets
6
+ Project-URL: Repository, https://github.com/chrisagrams/msdatasets
7
+ Author-email: Chris Grams <chrisagrams@gmail.com>
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
18
+ Requires-Python: >=3.10
19
+ Provides-Extra: dev
20
+ Requires-Dist: pre-commit>=4.0; extra == 'dev'
21
+ Requires-Dist: pytest-cov>=4.0; extra == 'dev'
22
+ Requires-Dist: pytest>=8.0; extra == 'dev'
23
+ Requires-Dist: ruff>=0.9; extra == 'dev'
24
+ Provides-Extra: docs
25
+ Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
26
+ Requires-Dist: mkdocs>=1.6; extra == 'docs'
27
+ Requires-Dist: mkdocstrings[python]>=0.24; extra == 'docs'
28
+ Description-Content-Type: text/markdown
29
+
30
+ # msdatasets
31
+
32
+ [![CI](https://github.com/chrisagrams/msdatasets/actions/workflows/ci.yml/badge.svg)](https://github.com/chrisagrams/msdatasets/actions/workflows/ci.yml)
33
+ [![codecov](https://codecov.io/gh/chrisagrams/msdatasets/graph/badge.svg)](https://codecov.io/gh/chrisagrams/msdatasets)
34
+ [![PyPI version](https://badge.fury.io/py/msdatasets.svg)](https://pypi.org/project/msdatasets/)
35
+
36
+ A unified dataset framework for mass spectrometry.
37
+
38
+ ## Installation
39
+
40
+ ```bash
41
+ pip install msdatasets
42
+ ```
43
+
44
+ ## Development
45
+
46
+ Install in development mode with test dependencies:
47
+
48
+ ```bash
49
+ uv sync --extra dev
50
+ ```
51
+
52
+ Set up pre-commit hooks:
53
+
54
+ ```bash
55
+ uv run pre-commit install
56
+ ```
57
+
58
+ Run tests:
59
+
60
+ ```bash
61
+ uv run pytest
62
+ ```
63
+
64
+ ## License
65
+
66
+ MIT
@@ -0,0 +1,37 @@
1
+ # msdatasets
2
+
3
+ [![CI](https://github.com/chrisagrams/msdatasets/actions/workflows/ci.yml/badge.svg)](https://github.com/chrisagrams/msdatasets/actions/workflows/ci.yml)
4
+ [![codecov](https://codecov.io/gh/chrisagrams/msdatasets/graph/badge.svg)](https://codecov.io/gh/chrisagrams/msdatasets)
5
+ [![PyPI version](https://badge.fury.io/py/msdatasets.svg)](https://pypi.org/project/msdatasets/)
6
+
7
+ A unified dataset framework for mass spectrometry.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ pip install msdatasets
13
+ ```
14
+
15
+ ## Development
16
+
17
+ Install in development mode with test dependencies:
18
+
19
+ ```bash
20
+ uv sync --extra dev
21
+ ```
22
+
23
+ Set up pre-commit hooks:
24
+
25
+ ```bash
26
+ uv run pre-commit install
27
+ ```
28
+
29
+ Run tests:
30
+
31
+ ```bash
32
+ uv run pytest
33
+ ```
34
+
35
+ ## License
36
+
37
+ MIT
@@ -0,0 +1,3 @@
1
+ # API Reference
2
+
3
+ ::: msdatasets
@@ -0,0 +1,45 @@
1
+ # Getting Started
2
+
3
+ ## Installation
4
+
5
+ Install from PyPI:
6
+
7
+ ```bash
8
+ pip install msdatasets
9
+ ```
10
+
11
+ Or with uv:
12
+
13
+ ```bash
14
+ uv add msdatasets
15
+ ```
16
+
17
+ ## Development Installation
18
+
19
+ Clone the repository and install in development mode:
20
+
21
+ ```bash
22
+ git clone https://github.com/chrisagrams/msdatasets.git
23
+ cd msdatasets
24
+ uv sync --extra dev --extra docs
25
+ ```
26
+
27
+ ## Running Tests
28
+
29
+ ```bash
30
+ uv run pytest
31
+ ```
32
+
33
+ ## Building Documentation
34
+
35
+ Serve docs locally:
36
+
37
+ ```bash
38
+ uv run mkdocs serve
39
+ ```
40
+
41
+ Build static site:
42
+
43
+ ```bash
44
+ uv run mkdocs build
45
+ ```
@@ -0,0 +1,25 @@
1
+ # msdatasets
2
+
3
+ A unified dataset framework for mass spectrometry.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install msdatasets
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```python
14
+ import msdatasets
15
+
16
+ print(msdatasets.__version__)
17
+ ```
18
+
19
+ ## Features
20
+
21
+ - Coming soon
22
+
23
+ ## License
24
+
25
+ This project is licensed under the MIT License.
@@ -0,0 +1,49 @@
1
+ site_name: msdatasets
2
+ site_description: A unified dataset framework for mass spectrometry
3
+ site_url: https://chrisagrams.github.io/msdatasets
4
+ repo_url: https://github.com/chrisagrams/msdatasets
5
+ repo_name: chrisagrams/msdatasets
6
+
7
+ theme:
8
+ name: material
9
+ palette:
10
+ - scheme: default
11
+ primary: indigo
12
+ accent: indigo
13
+ toggle:
14
+ icon: material/brightness-7
15
+ name: Switch to dark mode
16
+ - scheme: slate
17
+ primary: indigo
18
+ accent: indigo
19
+ toggle:
20
+ icon: material/brightness-4
21
+ name: Switch to light mode
22
+ features:
23
+ - content.code.copy
24
+ - navigation.sections
25
+ - navigation.expand
26
+ - search.highlight
27
+
28
+ plugins:
29
+ - search
30
+ - mkdocstrings:
31
+ handlers:
32
+ python:
33
+ paths: [src]
34
+ options:
35
+ show_source: true
36
+ show_root_heading: true
37
+
38
+ nav:
39
+ - Home: index.md
40
+ - Getting Started: getting-started.md
41
+ - API Reference: api.md
42
+
43
+ markdown_extensions:
44
+ - pymdownx.highlight:
45
+ anchor_linenums: true
46
+ - pymdownx.superfences
47
+ - admonition
48
+ - toc:
49
+ permalink: true
@@ -0,0 +1,69 @@
1
+ [project]
2
+ name = "msdatasets"
3
+ version = "0.1.0"
4
+ description = "A unified dataset framework for mass spectrometry"
5
+ readme = "README.md"
6
+ license = "MIT"
7
+ requires-python = ">=3.10"
8
+ authors = [
9
+ { name = "Chris Grams", email = "chrisagrams@gmail.com" },
10
+ ]
11
+ classifiers = [
12
+ "Development Status :: 3 - Alpha",
13
+ "Intended Audience :: Science/Research",
14
+ "License :: OSI Approved :: MIT License",
15
+ "Programming Language :: Python :: 3",
16
+ "Programming Language :: Python :: 3.10",
17
+ "Programming Language :: Python :: 3.11",
18
+ "Programming Language :: Python :: 3.12",
19
+ "Topic :: Scientific/Engineering :: Bio-Informatics",
20
+ ]
21
+ dependencies = []
22
+
23
+ [project.optional-dependencies]
24
+ dev = [
25
+ "pytest>=8.0",
26
+ "pytest-cov>=4.0",
27
+ "ruff>=0.9",
28
+ "pre-commit>=4.0",
29
+ ]
30
+ docs = [
31
+ "mkdocs>=1.6",
32
+ "mkdocs-material>=9.5",
33
+ "mkdocstrings[python]>=0.24",
34
+ ]
35
+
36
+ [project.urls]
37
+ Homepage = "https://chrisagrams.github.io/msdatasets"
38
+ Repository = "https://github.com/chrisagrams/msdatasets"
39
+
40
+ [build-system]
41
+ requires = ["hatchling"]
42
+ build-backend = "hatchling.build"
43
+
44
+ [tool.hatch.build.targets.wheel]
45
+ packages = ["src/msdatasets"]
46
+
47
+ [tool.pytest.ini_options]
48
+ testpaths = ["tests"]
49
+ pythonpath = ["src"]
50
+
51
+ [tool.ruff]
52
+ line-length = 88
53
+ target-version = "py310"
54
+
55
+ [tool.ruff.lint]
56
+ select = ["E", "F", "I", "N", "W"]
57
+
58
+ [tool.ruff.format]
59
+ docstring-code-format = true
60
+
61
+ [tool.coverage.run]
62
+ source = ["msdatasets"]
63
+ branch = true
64
+
65
+ [tool.coverage.report]
66
+ exclude_lines = [
67
+ "pragma: no cover",
68
+ "if TYPE_CHECKING:",
69
+ ]
@@ -0,0 +1,3 @@
1
+ """A unified dataset framework for mass spectrometry."""
2
+
3
+ __version__ = "0.1.0"
File without changes
@@ -0,0 +1 @@
1
+ """Pytest configuration and fixtures."""
@@ -0,0 +1,17 @@
1
+ """Basic package tests."""
2
+
3
+ import msdatasets
4
+
5
+
6
+ def test_version():
7
+ """Test that version is defined."""
8
+ assert hasattr(msdatasets, "__version__")
9
+ assert isinstance(msdatasets.__version__, str)
10
+ assert msdatasets.__version__ == "0.1.0"
11
+
12
+
13
+ def test_import():
14
+ """Test that package can be imported."""
15
+ import msdatasets
16
+
17
+ assert msdatasets is not None