diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 3d18ec7..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1,3 +0,0 @@ -include README.md -include LICENSE.md -include fatamorgana/VERSION diff --git a/fatamorgana/LICENSE.md b/fatamorgana/LICENSE.md new file mode 120000 index 0000000..7eabdb1 --- /dev/null +++ b/fatamorgana/LICENSE.md @@ -0,0 +1 @@ +../LICENSE.md \ No newline at end of file diff --git a/fatamorgana/README.md b/fatamorgana/README.md new file mode 120000 index 0000000..32d46ee --- /dev/null +++ b/fatamorgana/README.md @@ -0,0 +1 @@ +../README.md \ No newline at end of file diff --git a/fatamorgana/VERSION.py b/fatamorgana/VERSION.py deleted file mode 100644 index 6dec00f..0000000 --- a/fatamorgana/VERSION.py +++ /dev/null @@ -1,4 +0,0 @@ -""" VERSION defintion. THIS FILE IS MANUALLY PARSED BY setup.py and REQUIRES A SPECIFIC FORMAT """ -__version__ = ''' -0.11 -'''.strip() diff --git a/fatamorgana/__init__.py b/fatamorgana/__init__.py index 4e414c1..e158cb7 100644 --- a/fatamorgana/__init__.py +++ b/fatamorgana/__init__.py @@ -15,7 +15,7 @@ numpy to speed up reading/writing. Dependencies: - - Python 3.5 or later + - Python 3.8 or later - numpy (optional, faster but no additional functionality) To get started, try: @@ -36,6 +36,5 @@ from .basic import ( __author__ = 'Jan Petykiewicz' - -from .VERSION import __version__ +__version__ = '0.11' version = __version__ diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..146471e --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,56 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "fatamorgana" +description = "OASIS layout format parser and writer" +readme = "README.md" +license = { file = "LICENSE.md" } +authors = [ + { name="Jan Petykiewicz", email="jan@mpxd.net" }, + ] +homepage = "https://mpxd.net/code/jan/fatamorgana" +repository = "https://mpxd.net/code/jan/fatamorgana" +keywords = [ + "OASIS", + "layout", + "design", + "CAD", + "EDA", + "oas", + "electronics", + "open", + "artwork", + "interchange", + "standard", + "mask", + "pattern", + "IC", + "geometry", + "geometric", + "polygon", + "gds", + ] +classifiers = [ + "Programming Language :: Python :: 3", + "Development Status :: 3 - Alpha", + "Environment :: Other Environment", + "Intended Audience :: Developers", + "Intended Audience :: Information Technology", + "Intended Audience :: Manufacturing", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: GNU Affero General Public License v3", + "Topic :: Scientific/Engineering", + "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)", + ] +requires-python = ">=3.8" +dynamic = ["version"] +dependencies = [ + ] + +[tool.hatch.version] +path = "fatamorgana/__init__.py" + +[project.optional-dependencies] +numpy = ["numpy~=1.21"] diff --git a/setup.py b/setup.py deleted file mode 100644 index ab72d1a..0000000 --- a/setup.py +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env python3 - -from setuptools import setup, find_packages - - -with open('README.md', 'r') as f: - long_description = f.read() - -with open('fatamorgana/VERSION.py', 'rt') as f: - version = f.readlines()[2].strip() - -setup(name='fatamorgana', - version=version, - description='OASIS layout format parser and writer', - long_description=long_description, - long_description_content_type='text/markdown', - author='Jan Petykiewicz', - author_email='jan@mpxd.net', - url='https://mpxd.net/code/jan/fatamorgana', - packages=find_packages(), - package_data={ - 'fatamorgana': ['py.typed'], - }, - install_requires=[ - 'typing', - ], - extras_require={ - 'numpy': ['numpy'], - }, - classifiers=[ - 'Programming Language :: Python :: 3', - 'Development Status :: 3 - Alpha', - 'Environment :: Other Environment', - 'Intended Audience :: Developers', - 'Intended Audience :: Information Technology', - 'Intended Audience :: Manufacturing', - 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: GNU Affero General Public License v3', - 'Topic :: Scientific/Engineering', - 'Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)', - ], - keywords=[ - 'OASIS', - 'layout', - 'design', - 'CAD', - 'EDA', - 'oas', - 'electronics', - 'open', - 'artwork', - 'interchange', - 'standard', - 'mask', - 'pattern', - 'IC', - 'geometry', - 'geometric', - 'polygon', - 'gds', - ], - ) -