Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up Package PyPI release #261

Merged
merged 13 commits into from
Sep 7, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
python-version: [3.11]
python-version: ["3.11"]

steps:
- uses: actions/checkout@v4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
matrix:
# os: [macOS-latest, windows-latest, ubuntu-latest]
os: [macos-13, windows-latest, ubuntu-latest]
python-version: ["3.9", "3.10", "3.11"]
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4
Expand Down
File renamed without changes.
43 changes: 21 additions & 22 deletions HEADER
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
# -*- coding: utf-8 -*-
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
#
# Copyright (C) 2023 The QC-Devs Community
#
# This file is part of Selector.
#
# Selector is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# Selector is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>
#
# --

The Selector is a Python library of algorithms for selecting diverse
subsets of data for machine-learning.

Copyright (C) 2022-2024 The QC-Devs Community

This file is part of Selector.

Selector is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.

Selector is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>

3 changes: 3 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@ include MANIFEST.in
include CODE_OF_CONDUCT.md
include versioneer.py

prune notebooks
prune book

graft selector
global-exclude *.py[cod] __pycache__ *.so
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# The `selector` Library
<!-- # The Selector Library -->
<h1>
The Selector Library
<img src="book/content/selector_logo.png" alt="Logo" align="right" width="180">
</h1>

[![This project supports Python 3.7+](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://python.org/downloads)
[![This project supports Python 3.9+](https://img.shields.io/badge/Python-3.9+-blue.svg)](https://python.org/downloads)
[![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/)
[![GitHub Actions CI Tox Status](https://github.com/theochem/Selector/actions/workflows/ci_tox.yml/badge.svg?branch=main)](https://github.com/theochem/Selector/actions/workflows/ci_tox.yml)
[![codecov](https://codecov.io/gh/theochem/Selector/graph/badge.svg?token=0UJixrJfNJ)](https://codecov.io/gh/theochem/Selector)
Expand Down Expand Up @@ -38,12 +42,13 @@ To install `selector` with `pip`, we can install the latest stable release from
pip install qc-selector
```

To download the prebuilt wheel files, visit the [PyPI page](https://pypi.org/project/qc-selector/)
and [GitHub releases](https://github.com/theochem/Selector/tags).

In addition, we can install the latest development version from the GitHub repository as follows:

```bash
# Install the latest development version.

# install the development version
# install the latest development version
pip install git+https://github.com/theochem/Selector.git

```
Expand Down
21 changes: 16 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,8 @@
[project]
# https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
name = "qc-selector"
version = "0.0.2b4"
description = "Subset selection with maximum diversity."
readme = "README.md"
readme = {file = 'README.md', content-type='text/markdown'}
#requires-python = ">=3.9,<4.0"
requires-python = ">=3.9"
# "LICENSE" is name of the license file, which must be in root of project folder
Expand All @@ -53,6 +52,7 @@ classifiers = [
"Natural Language :: English",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: Unix",
"Operating System :: POSIX",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
Expand All @@ -61,9 +61,17 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering",
"Topic :: Sociology",

]

dynamic = ["dependencies", "optional-dependencies"]
# version = "0.0.2b4"
dynamic = [
"dependencies",
"optional-dependencies",
"version",
]

# not using this section now but it's here for reference
# # Required dependencies for install/usage of your package or application
Expand Down Expand Up @@ -167,13 +175,16 @@ repository = "https://github.com/theochem/Selector"

[build-system]
# Minimum requirements for the build system to execute.
requires = ["setuptools", "wheel"]
requires = ["setuptools>=64", "setuptools-scm>=8", "wheel"]
build-backend = "setuptools.build_meta"

[tool.setuptools.dynamic]
dependencies = {file = ["requirements.txt"]}
optional-dependencies = {dev = { file = ["requirements_dev.txt"] }}

[tool.setuptools_scm]
# can be empty if no extra settings are needed, presence enables setuptools-scm

[tool.setuptools]
# https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
platforms = ["Linux", "Windows", "MacOS"]
Expand All @@ -189,7 +200,7 @@ selector = ["*.xml"]
# Python modules and packages that are included in the
# distribution package (and therefore become importable)
[tool.setuptools.packages.find]
exclude = ["*/*/tests", "tests_*", "examples", "book"]
exclude = ["*/*/tests", "tests_*", "examples", "book/content", "notebooks"]


# PDM example
Expand Down
3 changes: 2 additions & 1 deletion requirements_dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ pytest>=7.4.0
pytest-cov>=3.0.0
scikit-learn>=1.0.1
scipy>=1.11.1
setuptools>=62.6
setuptools>=64.0.0
tomli
xdoctest
setuptools-scm>=8.0.0
8 changes: 5 additions & 3 deletions selector/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/measures/init.py → selector/measures/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/measures/converter.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/measures/diversity.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/measures/similarity.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/measures/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/measures/tests/common.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/measures/tests/test_converter.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/measures/tests/test_diversity.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/methods/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/methods/base.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/methods/distance.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/methods/partition.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
6 changes: 4 additions & 2 deletions selector/methods/similarity.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
Expand Down
8 changes: 5 additions & 3 deletions selector/methods/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/methods/tests/common.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
8 changes: 5 additions & 3 deletions selector/methods/tests/test_distance.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# The Selector library provides a set of tools for selecting a
# subset of the dataset and computing diversity.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2023 The QC-Devs Community
# The Selector is a Python library of algorithms for selecting diverse
# subsets of data for machine-learning.
#
# Copyright (C) 2022-2024 The QC-Devs Community
#
# This file is part of Selector.
#
Expand Down
Loading