diff --git a/CHANGELOG.md b/CHANGELOG.md index baa8bcd3c4c5b5283eb4f04cb4be66a519af07a2..b6fcb6ecf6f2179b378c9192e2ba3d3143d5cbe1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## v1.0.0 + +- Change API under the hood to make it more object-oriented + - store all utilities inside a `PESTO` object that is a subclass of `nn.Module` + - make the API compatible with the checkpoints generated by the training repo +- add tests +- replace `setup.py` by `pyproject.toml` +- fix a few issues +- improve README and documentation + ## v0.1.1 - solve issue when exporting in PNG diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000000000000000000000000000000000..8a3e4168f6ec4a67997d8e9f5e948442584acf71 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,45 @@ +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[project] +name = "pesto-pitch" +version = "1.0.0" +authors = [ + {name = "Alain Riou", email = "alain.riou@sony.com"} +] +description = "Efficient pitch estimation with self-supervised learning", +readme = {file = "README.md", content-type = "text/markdown"} +requires-python = ">=3.8" +classifiers = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)', # If licence is provided must be on the repository + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', +] +dependencies = [ + 'numpy>=1.21.5', + 'scipy>=1.8.1', + 'tqdm>=4.66.1', + 'torch>=2.0.1', + 'torchaudio>=2.0.2' +] + +[project.optional-dependencies] +matplotlib = ["matplotlib"] +test = ["pytest"] + +[project.scripts] +pesto = "pesto.main.py:pesto" + +[project.urls] +source = "https://github.com/SonyCSLParis/pesto" + +[tool.setuptools.packages.find] +where = ["pesto"] + +[tool.setuptools.package-data] +weights = ["*.ckpt"] diff --git a/setup.py b/setup.py deleted file mode 100644 index 6eafee00df5b97574f0ba784f53a51978fc303c3..0000000000000000000000000000000000000000 --- a/setup.py +++ /dev/null @@ -1,52 +0,0 @@ -from pathlib import Path -from setuptools import setup, find_packages - -def get_readme_text(): - root_dir = Path(__file__).parent - readme_path = root_dir / "README.md" - return readme_path.read_text() - - -setup( - name='pesto-pitch', - version='0.1.0', - description='Efficient pitch estimation with self-supervised learning', - long_description=get_readme_text(), - long_description_content_type='text/markdown', - author='Alain Riou', - url='https://github.com/SonyCSLParis/pesto', - license='LGPL-3.0', - packages=find_packages(), - include_package_data=True, - package_data={ - 'pesto': ['weights/*'], # To include the .pth - }, - install_requires=[ - 'numpy>=1.21.5', - 'scipy>=1.8.1', - 'tqdm>=4.66.1', - 'torch>=2.0.1', - 'torchaudio>=2.0.2' - ], - classifiers=[ - # 'Development Status :: 1 - Planning', - # 'Development Status :: 2 - Pre-Alpha', - # 'Development Status :: 3 - Alpha', - # 'Development Status :: 4 - Beta', - 'Development Status :: 5 - Production/Stable', - # 'Development Status :: 6 - Mature', - # 'Development Status :: 7 - Inactive', - 'Intended Audience :: Developers', - 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)', # If licence is provided must be on the repository - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - ], - entry_points={ - 'console_scripts': [ - 'pesto=pesto.main:pesto', # For the command line, executes function pesto() in pesto/main as 'pesto' - ], - }, - python_requires='>=3.8', -)