diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..6828a67 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,53 @@ +# Copyright 2025 Zeppelin Bend Pty Ltd +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +[build-system] +requires = [ + "setuptools", + "wheel", + "build>=1.2.0" +] +build-backend = "setuptools.build_meta" + +[project] +name = "zepben.examples" +description = "Module containing examples for interacting with Zepben's platform" +version = "0.4.0b2" +readme = {file = "README.md", content-type = "test/markdown"} +license = "MPL-2.0" +requires-python = '>=3.9,<3.13' +authors = [ + {name = "Zeppelin Bend", email = "oss@zepben.com"} +] +dependencies = [ + "zepben.eas==0.19.0", + "zepben.evolve==0.48.0", + "numba==0.60.0", + "geojson==2.5.0", + "gql[requests]==3.4.1", + "geopandas", + "pandas", + "shapely" +] +classifiers = [ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Operating System :: OS Independent" +] + +[project.urls] +Repository = "https://github.com/zepben/ewb-sdk-examples-python" +Homepage = "https://zepben.com" + +[project.optional-dependencies] +test = [ + "pytest>=7.4.4, <9", + "pytest-cov==6.1.1", + "pytest-asyncio==0.26.0" +] diff --git a/setup.py b/setup.py index c578bbe..223f5ab 100644 --- a/setup.py +++ b/setup.py @@ -1,35 +1,9 @@ -from setuptools import setup, find_namespace_packages +# Copyright 2025 Zeppelin Bend Pty Ltd +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. -test_deps = ["pytest", "pytest-cov", "pytest-asyncio"] -setup( - name="zepben.examples", - description="Module containing examples for interacting with Zepben's platform", - version="0.4.0b2", - url="https://github.com/zepben/ewb-sdk-examples-python", - author="Zeppelin Bend", - author_email="oss@zepben.com", - license="MPL 2.0", - classifiers=[ - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Operating System :: OS Independent" - ], - packages=find_namespace_packages(where="src"), - package_dir={'': 'src'}, - python_requires='>=3.9, <3.13', - install_requires=[ - "zepben.eas==0.19.0", - "zepben.evolve==0.48.0", - "numba==0.60.0", - "geojson==2.5.0", - "gql[requests]==3.4.1", - "geopandas", - "pandas", - "shapely" - ], - extras_require={ - "test": test_deps, - }, -) +import setuptools + +setuptools.setup() diff --git a/tox.ini b/tox.ini index da91225..73d6694 100644 --- a/tox.ini +++ b/tox.ini @@ -1,15 +1,13 @@ [tox] -envlist = py311 - py310 - py39 +envlist = + py{312, 311, 310, 39} [testenv] -allowlist_externals = /bin/bash - /usr/bin/bash passenv = GITHUB_* pip_pre = true -deps = - . +extras = test + commands = - python setup.py bdist_wheel + python -m pip install build + python -m build