forked from geopython/OWSLib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
105 lines (89 loc) · 2.72 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# =============================================================================
# Copyright (c) 2024 Tom Kralidis
#
# Author: Tom Kralidis <[email protected]>
#
# Contact email: [email protected]
# =============================================================================
from pathlib import Path
import re
from setuptools import setup, find_packages
from setuptools.command.test import test as TestCommand
import sys
class PyTest(TestCommand):
def finalize_options(self):
TestCommand.finalize_options(self)
self.test_args = []
self.test_suite = True
def run_tests(self):
import pytest
errno = pytest.main(self.test_args)
sys.exit(errno)
def read(filename, encoding='utf-8'):
"""read file contents"""
fullpath = Path(__file__).resolve().parent / filename
with fullpath.open() as fh:
contents = fh.read().strip()
return contents
def get_package_version():
"""get version from top-level package init"""
version_file = read('owslib/__init__.py')
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
version_file, re.M)
if version_match:
return version_match.group(1)
raise RuntimeError('Unable to find version string.')
readme = open('README.md').read()
reqs = [line.strip() for line in open('requirements.txt')]
MANIFEST = Path('MANIFEST')
if MANIFEST.exists():
MANIFEST.unlink()
setup(
name='OWSLib',
version=get_package_version(),
description='OGC Web Service utility library',
long_description=read('README.md'),
long_description_content_type='text/markdown',
license='BSD',
keywords=' '.join([
'gis',
'ogc',
'ogcapi',
'ows',
'opensearch',
'iso',
'19115',
'fgdc',
'dif',
'ows',
'wfs',
'wms',
'sos',
'csw',
'wps',
'wcs',
'capabilities',
'metadata',
'wmts',
'connectedsystems'
]),
author='Sean Gillies',
author_email='[email protected]',
maintainer='Tom Kralidis',
maintainer_email='[email protected]',
url='https://owslib.readthedocs.io',
install_requires=reqs,
python_requires='>=3.10',
cmdclass={'test': PyTest},
packages=find_packages(exclude=["docs", "etc", "examples", "tests"]),
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: BSD License',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Topic :: Scientific/Engineering :: GIS'
]
)