-
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathsetup.py
More file actions
75 lines (69 loc) · 2.65 KB
/
Copy pathsetup.py
File metadata and controls
75 lines (69 loc) · 2.65 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
# -*- 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 address and location information.
It currently supports public and local IPv4 detection using multiple API providers with a fallback mechanism for reliability.
Designed with simplicity and modularity in mind, IPSpot offers quick IP and geolocation lookups directly from your machine.'''
setup(
name='ipspot',
packages=['ipspot'],
version='0.5',
description='IPSpot: A Python Tool to Fetch the System\'s IP Address',
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.5',
keywords="ip ipv4 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 :: 3 - Alpha',
'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',
'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',
]
}
)