-
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathsetup.py
More file actions
76 lines (70 loc) · 2.79 KB
/
setup.py
File metadata and controls
76 lines (70 loc) · 2.79 KB
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
# -*- coding: utf-8 -*-
"""Setup module."""
from typing import List
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
def get_requires() -> List[str]:
"""Read requirements.txt."""
requirements = open("requirements.txt", "r").read()
return list(filter(lambda x: x != "", requirements.split()))
def read_description() -> str:
"""Read README.md and CHANGELOG.md."""
try:
with open("README.md") as r:
description = "\n"
description += r.read()
with open("CHANGELOG.md") as c:
description += "\n"
description += c.read()
return description
except Exception:
return '''IPSpot is a Python library for retrieving the current system's IP data and detailed location information such as region, longitude, and latitude.
It supports both public and private IPv4 and IPv6 detection through multiple API providers, using a fallback mechanism for improved reliability.
It has a simple and modular design, making it easy to perform fast IP, geolocation, provider, and regional lookups directly from your machine.'''
setup(
name='ipspot',
packages=['ipspot'],
version='0.8',
description='IPSpot: Retrieve IPv4/IPv6 Addresses with Geolocation Data',
long_description=read_description(),
long_description_content_type='text/markdown',
include_package_data=True,
author='IPSpot Development Team',
author_email='ipspot@openscilab.com',
url='https://github.com/openscilab/ipspot',
download_url='https://github.com/openscilab/ipspot/tarball/v0.8',
keywords="ip ipv4 ipv6 geo geolocation network location ipspot cli",
project_urls={
'Source': 'https://github.com/openscilab/ipspot'
},
install_requires=get_requires(),
python_requires='>=3.7',
classifiers=[
'Development Status :: 4 - Beta',
'Natural Language :: English',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: 3.14',
'Intended Audience :: Developers',
'Intended Audience :: Education',
'Intended Audience :: End Users/Desktop',
'Topic :: System :: Monitoring',
'Topic :: System :: Networking :: Monitoring',
'Topic :: Utilities',
],
license='MIT',
entry_points={
'console_scripts': [
'ipspot = ipspot.cli:main',
]
}
)