Skip to content

Commit 5aa6432

Browse files
authored
Merge pull request #1 from Multiomics-Analytics-Group/mk_pkg
2 parents c4f4dc4 + c9733e3 commit 5aa6432

File tree

11 files changed

+162
-53
lines changed

11 files changed

+162
-53
lines changed

.github/workflows/cdci.yml

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Python package
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
release:
9+
types: [published]
10+
11+
jobs:
12+
# format:
13+
# runs-on: ubuntu-latest
14+
# steps:
15+
# - uses: actions/checkout@v4
16+
# - uses: psf/black@stable
17+
# lint:
18+
# name: Lint with ruff
19+
# runs-on: ubuntu-latest
20+
# steps:
21+
# - uses: actions/checkout@v4
22+
23+
# - uses: actions/setup-python@v5
24+
# with:
25+
# python-version: "3.11"
26+
# - name: Install ruff
27+
# run: |
28+
# pip install ruff
29+
# - name: Lint with ruff
30+
# run: |
31+
# # stop the build if there are Python syntax errors or undefined names
32+
# ruff check .
33+
test:
34+
name: Test
35+
runs-on: ubuntu-latest
36+
strategy:
37+
matrix:
38+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
39+
steps:
40+
- uses: actions/checkout@v4
41+
- name: Set up Python ${{ matrix.python-version }}
42+
uses: actions/setup-python@v5
43+
with:
44+
python-version: ${{ matrix.python-version }}
45+
cache: 'pip' # caching pip dependencies
46+
cache-dependency-path: '**/pyproject.toml'
47+
- name: Install dependencies
48+
run: |
49+
python -m pip install --upgrade pip
50+
pip install pytest
51+
pip install -e .
52+
# - name: Run tests
53+
# run: python -m pytest tests
54+
55+
56+
57+
publish:
58+
name: Publish package
59+
if: startsWith(github.ref, 'refs/tags')
60+
permissions:
61+
id-token: write
62+
needs:
63+
- test
64+
runs-on: ubuntu-latest
65+
66+
steps:
67+
- uses: actions/checkout@v4
68+
69+
- uses: actions/setup-python@v5
70+
with:
71+
python-version: "3.11"
72+
- name: Install twine and build
73+
run: python -m pip install --upgrade twine build
74+
- name: Build
75+
run: python -m build
76+
- name: Publish package distributions to PyPI
77+
uses: pypa/gh-action-pypi-publish@release/v1

pyproject.toml

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
[project]
2+
authors = [{ name = "Alberto Santos Delgado", email = "[email protected]" },
3+
{ name = "Henry Webel", email = "[email protected]"}]
4+
name = "vuecore"
5+
dynamic = ["version"]
6+
description = "A Python package for plotting related to multimodal molecular data. Works with acore."
7+
license = { text = "GNU General Public License v3" }
8+
readme = "README.md"
9+
requires-python = ">=3.9"
10+
classifiers = [
11+
"Development Status :: 2 - Pre-Alpha",
12+
"Intended Audience :: Developers",
13+
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
14+
"Natural Language :: English",
15+
"Programming Language :: Python :: 3.9",
16+
"Programming Language :: Python :: 3.10",
17+
"Programming Language :: Python :: 3.11",
18+
]
19+
20+
dependencies = [
21+
"numpy",
22+
"pandas",
23+
# "dsp-pandas", # has only pandas related dependencies
24+
"scipy",
25+
"plotly",
26+
# "biopython",
27+
"beautifulsoup4",
28+
"requests",
29+
"dash", # from dash import html
30+
# "networkx",
31+
"matplotlib",
32+
# "cy-jupyterlab",
33+
# "nltk",
34+
# "webweb"
35+
# "acore",
36+
]
37+
38+
[project.optional-dependencies]
39+
docs = [
40+
"sphinx",
41+
"sphinx-book-theme",
42+
"myst-nb",
43+
"ipywidgets",
44+
"sphinx-new-tab-link!=0.2.2",
45+
"jupytext",
46+
]
47+
dev = [
48+
"black",
49+
"flake8",
50+
"ruff",
51+
"isort",
52+
"pytest",
53+
"pytest-cov",
54+
"twine",
55+
"wheel",
56+
"jupytext",
57+
"ipykernel",
58+
]
59+
60+
[project.urls]
61+
Homepage = "https://github.com/Multiomics-Analytics-Group/vuecore"
62+
Issues = "https://github.com/Multiomics-Analytics-Group/vuecore/issues"
63+
Documentation = "https://analytics-core.readthedocs.io/"
64+
65+
66+
[build-system]
67+
requires = ["setuptools"]
68+
build-backend = "setuptools.build_meta"

setup.cfg

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[flake8]
2+
exclude = docs
3+
max-line-length = 90
4+
aggressive = 2
5+
6+
[tool:pytest]
7+
addopts = --ignore=setup.py
8+
9+
[isort]
10+
profile=black

setup.py

+4-53
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,5 @@
1-
# builtin
2-
import setuptools
1+
from setuptools import setup
32

4-
def get_long_description():
5-
with open("README.md", "r") as readme_file:
6-
long_description = readme_file.read()
7-
return long_description
8-
9-
10-
def get_requirements():
11-
with open('requirements.txt') as f:
12-
required = f.read().splitlines()
13-
return required
14-
15-
16-
def create_pip_wheel():
17-
requirements = get_requirements()
18-
setuptools.setup(
19-
name="acore",
20-
version="0.1.0",
21-
license="MIT",
22-
description="An open-source Python package for Statistical Analysis of Omics datasets",
23-
long_description=get_long_description(),
24-
long_description_content_type="text/markdown",
25-
author="Multi-omics Network Analytics lab",
26-
author_email="[email protected]",
27-
url="",
28-
project_urls={
29-
"Multi-omics Network Analytics": "",
30-
"GitHub": "",
31-
"ReadTheDocs": "",
32-
"PyPi": "",
33-
"Scientific paper": "https://www.nature.com/articles/s41587-021-01145-6",
34-
},
35-
keywords=["statistics", "bioinformatics", "multi-omics",],
36-
classifiers=[
37-
"Intended Audience :: Science/Research",
38-
"License :: OSI Approved :: MIT License",
39-
"Operating System :: OS Independent",
40-
"Programming Language :: Python :: 3",
41-
"Topic :: Scientific :: Bioinformatics",
42-
],
43-
packages=[
44-
"acore",
45-
],
46-
include_package_data=True,
47-
entry_points={},
48-
install_requires=requirements,
49-
python_requires=">=3.9,<4",
50-
)
51-
52-
53-
if __name__ == "__main__":
54-
create_pip_wheel()
3+
setup(
4+
zip_safe=False,
5+
)
File renamed without changes.

src/vuecore/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from importlib import metadata
2+
3+
__version__ = metadata.version("vuecore")
File renamed without changes.
File renamed without changes.

vcore/viz.py src/vuecore/viz.py

File renamed without changes.
File renamed without changes.

vcore/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)