Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["setuptools", "wheel", "numpy"]
build-backend = "setuptools.build_meta"
42 changes: 24 additions & 18 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,37 +1,43 @@
import setuptools
from multilabel_oversampling import __version__
print(__version__)
import re
import os

with open("README.md", "r") as file:
# Read version from __init__.py without importing the package (avoids build-time dependency issues)
_init_path = os.path.join(os.path.dirname(__file__), "multilabel_oversampling", "__init__.py")
with open(_init_path, "r", encoding="utf-8") as f:
_content = f.read()
# Accept either single or double quotes for the version string
_version_match = re.search(r"__version__\s*=\s*['\"]([^'\"]+)['\"]", _content)
if _version_match is None:
raise RuntimeError("Unable to find version string in __init__.py")
__version__ = _version_match.group(1)

with open("README.md", "r", encoding="utf-8") as file:
long_description = file.read()

with open("requirements.txt") as file:
required = file.read().splitlines()

# Read runtime requirements from requirements.txt and ignore blank/comment lines
with open("requirements.txt", "r", encoding="utf-8") as file:
required = [l.strip() for l in file if l.strip() and not l.strip().startswith("#")]


setuptools.setup(
name="multilabel-oversampling",
version=__version__,
version=__version__,
author="Philipp J. Rösch",
author_email="phiyodr@gmail.com",
description="Multilabel Oversampling",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/phiyodr/multilabel-oversampling",
classifiers=[
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Programming Language :: Python :: 3",
],
packages=setuptools.find_packages(),
python_requires='>=3.6',
package_data={
# If any package contains *.txt or *.rst files, include them:
"": ["*.txt", "*.csv", "*.json"]},
install_requires=[
"numpy",
"scikit-learn",
"pandas",
"seaborn",
"tqdm",
"matplotlib"
]
)
"": ["*.txt", "*.csv", "*.json"],
},
install_requires=required,
)