diff --git a/.gitignore b/.gitignore index 6e1d4a7..71e10d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ *.pyc -__pycache__ +__pycache__/ *.idea @@ -7,6 +7,7 @@ build/ dist/ *.egg-info/ .mypy_cache/ +.pytest_cache/ *.swp *.swo diff --git a/klamath/LICENSE.md b/klamath/LICENSE.md new file mode 120000 index 0000000..7eabdb1 --- /dev/null +++ b/klamath/LICENSE.md @@ -0,0 +1 @@ +../LICENSE.md \ No newline at end of file diff --git a/klamath/README.md b/klamath/README.md new file mode 120000 index 0000000..32d46ee --- /dev/null +++ b/klamath/README.md @@ -0,0 +1 @@ +../README.md \ No newline at end of file diff --git a/klamath/VERSION.py b/klamath/VERSION.py deleted file mode 100644 index b99a6d4..0000000 --- a/klamath/VERSION.py +++ /dev/null @@ -1,4 +0,0 @@ -""" VERSION defintion. THIS FILE IS MANUALLY PARSED BY setup.py and REQUIRES A SPECIFIC FORMAT """ -__version__ = ''' -1.2 -'''.strip() diff --git a/klamath/__init__.py b/klamath/__init__.py index 7a8c54e..a7e137b 100644 --- a/klamath/__init__.py +++ b/klamath/__init__.py @@ -33,6 +33,6 @@ from . import records from . import elements from . import library -from .VERSION import __version__ - __author__ = 'Jan Petykiewicz' +__version__ = '1.2' + diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..11d7918 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,58 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "klamath" +description = "GDSII format reader/writer" +readme = "README.md" +license = { file = "LICENSE.md" } +authors = [ + { name="Jan Petykiewicz", email="jan@mpxd.net" }, + ] +homepage = "https://mpxd.net/code/jan/klamath" +repository = "https://mpxd.net/code/jan/klamath" +keywords = [ + "layout", + "gds", + "gdsii", + "gds2", + "Calma", + "stream", + "design", + "CAD", + "EDA", + "electronics", + "photonics", + "IC", + "mask", + "pattern", + "drawing", + "lithography", + "litho", + "geometry", + "geometric", + "polygon", + "vector", + ] +classifiers = [ + "Programming Language :: Python :: 3", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: Information Technology", + "Intended Audience :: Manufacturing", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)", + ] +requires-python = ">=3.8" +include = [ + "LICENSE.md" + ] +dynamic = ["version"] +dependencies = [ + "numpy~=1.21", + ] + +[tool.hatch.version] +path = "klamath/__init__.py" diff --git a/setup.py b/setup.py deleted file mode 100644 index 732b4c9..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('klamath/VERSION.py', 'rt') as f: - version = f.readlines()[2].strip() - -setup(name='klamath', - version=version, - description='GDSII format reader/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/klamath', - packages=find_packages(), - package_data={ - 'klamath': ['py.typed'], - }, - install_requires=[ - 'numpy', - ], - classifiers=[ - 'Programming Language :: Python :: 3', - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'Intended Audience :: Information Technology', - 'Intended Audience :: Manufacturing', - 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', - 'Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)', - ], - keywords=[ - 'layout', - 'design', - 'CAD', - 'EDA', - 'electronics', - 'photonics', - 'IC', - 'mask', - 'pattern', - 'drawing', - 'lithography', - 'litho', - 'geometry', - 'geometric', - 'polygon', - 'gds', - 'gdsii', - 'gds2', - 'stream', - 'vector', - 'freeform', - 'manhattan', - 'angle', - 'Calma', - ], - )