lxj 0.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lxj-0.0.1/MANIFEST.in +1 -0
- lxj-0.0.1/PKG-INFO +49 -0
- lxj-0.0.1/README.md +20 -0
- lxj-0.0.1/lxj/__init__.py +4 -0
- lxj-0.0.1/lxj.egg-info/PKG-INFO +49 -0
- lxj-0.0.1/lxj.egg-info/SOURCES.txt +11 -0
- lxj-0.0.1/lxj.egg-info/dependency_links.txt +1 -0
- lxj-0.0.1/lxj.egg-info/entry_points.txt +3 -0
- lxj-0.0.1/lxj.egg-info/requires.txt +13 -0
- lxj-0.0.1/lxj.egg-info/top_level.txt +1 -0
- lxj-0.0.1/requirements.txt +7 -0
- lxj-0.0.1/setup.cfg +4 -0
- lxj-0.0.1/setup.py +192 -0
lxj-0.0.1/MANIFEST.in
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
include requirements.txt
|
lxj-0.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: lxj
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: A Python package for intelligent information bagging system
|
|
5
|
+
Home-page: https://github.com/lqxnjk/lxj
|
|
6
|
+
Author: lqxnjk
|
|
7
|
+
Author-email: lqxnjk@qq.com
|
|
8
|
+
License: MIT
|
|
9
|
+
Project-URL: Bug Reports, https://github.com/lqxnjk/lxj/issues
|
|
10
|
+
Project-URL: Source, https://github.com/lqxnjk/lxj
|
|
11
|
+
Keywords: ii,etls,lqxnjk,data
|
|
12
|
+
Platform: UNKNOWN
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
17
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering
|
|
21
|
+
Requires-Python: >=3.7
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
Provides-Extra: dev
|
|
24
|
+
Provides-Extra: plot
|
|
25
|
+
Provides-Extra: gpu
|
|
26
|
+
Provides-Extra: all
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
pip install -r ./requirements.txt -i https://mirrors.tencent.com/pypi/simple
|
|
30
|
+
pip install wheel setuptools -i https://mirrors.tencent.com/pypi/simple
|
|
31
|
+
python -m pip install twine -i https://mirrors.tencent.com/pypi/simple
|
|
32
|
+
python setup.py sdist bdist_wheel
|
|
33
|
+
python -m build
|
|
34
|
+
pip install .
|
|
35
|
+
pip install -e .
|
|
36
|
+
pip install -e .[dev]
|
|
37
|
+
python -m twine upload dist/*
|
|
38
|
+
```
|
|
39
|
+
```shell
|
|
40
|
+
rmdir /s /q dist
|
|
41
|
+
```
|
|
42
|
+
```shell
|
|
43
|
+
python setup.py sdist bdist_wheel
|
|
44
|
+
```
|
|
45
|
+
```shell
|
|
46
|
+
python -m twine upload dist/*
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
|
lxj-0.0.1/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
```
|
|
2
|
+
pip install -r ./requirements.txt -i https://mirrors.tencent.com/pypi/simple
|
|
3
|
+
pip install wheel setuptools -i https://mirrors.tencent.com/pypi/simple
|
|
4
|
+
python -m pip install twine -i https://mirrors.tencent.com/pypi/simple
|
|
5
|
+
python setup.py sdist bdist_wheel
|
|
6
|
+
python -m build
|
|
7
|
+
pip install .
|
|
8
|
+
pip install -e .
|
|
9
|
+
pip install -e .[dev]
|
|
10
|
+
python -m twine upload dist/*
|
|
11
|
+
```
|
|
12
|
+
```shell
|
|
13
|
+
rmdir /s /q dist
|
|
14
|
+
```
|
|
15
|
+
```shell
|
|
16
|
+
python setup.py sdist bdist_wheel
|
|
17
|
+
```
|
|
18
|
+
```shell
|
|
19
|
+
python -m twine upload dist/*
|
|
20
|
+
```
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: lxj
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: A Python package for intelligent information bagging system
|
|
5
|
+
Home-page: https://github.com/lqxnjk/lxj
|
|
6
|
+
Author: lqxnjk
|
|
7
|
+
Author-email: lqxnjk@qq.com
|
|
8
|
+
License: MIT
|
|
9
|
+
Project-URL: Bug Reports, https://github.com/lqxnjk/lxj/issues
|
|
10
|
+
Project-URL: Source, https://github.com/lqxnjk/lxj
|
|
11
|
+
Keywords: ii,etls,lqxnjk,data
|
|
12
|
+
Platform: UNKNOWN
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
17
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering
|
|
21
|
+
Requires-Python: >=3.7
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
Provides-Extra: dev
|
|
24
|
+
Provides-Extra: plot
|
|
25
|
+
Provides-Extra: gpu
|
|
26
|
+
Provides-Extra: all
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
pip install -r ./requirements.txt -i https://mirrors.tencent.com/pypi/simple
|
|
30
|
+
pip install wheel setuptools -i https://mirrors.tencent.com/pypi/simple
|
|
31
|
+
python -m pip install twine -i https://mirrors.tencent.com/pypi/simple
|
|
32
|
+
python setup.py sdist bdist_wheel
|
|
33
|
+
python -m build
|
|
34
|
+
pip install .
|
|
35
|
+
pip install -e .
|
|
36
|
+
pip install -e .[dev]
|
|
37
|
+
python -m twine upload dist/*
|
|
38
|
+
```
|
|
39
|
+
```shell
|
|
40
|
+
rmdir /s /q dist
|
|
41
|
+
```
|
|
42
|
+
```shell
|
|
43
|
+
python setup.py sdist bdist_wheel
|
|
44
|
+
```
|
|
45
|
+
```shell
|
|
46
|
+
python -m twine upload dist/*
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
lxj
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
--extra-index-url https://mirrors.tencent.com/pypi/simple
|
|
2
|
+
# pip config set global.index-url https://mirrors.tencent.com/pypi/simple
|
|
3
|
+
# pip config unset global.index-url
|
|
4
|
+
# python -m pip install --upgrade --force-reinstall pip -i https://mirrors.tencent.com/pypi/simple
|
|
5
|
+
# pip install -r ./requirements.txt -i https://mirrors.tencent.com/pypi/simple
|
|
6
|
+
# --default-timeout=100
|
|
7
|
+
#------------------------------------------------------------------------------------------------------------
|
lxj-0.0.1/setup.cfg
ADDED
lxj-0.0.1/setup.py
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import os.path
|
|
2
|
+
|
|
3
|
+
from setuptools import setup, find_packages
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
import re
|
|
6
|
+
|
|
7
|
+
# ========== Configuration Variables ==========
|
|
8
|
+
# Basic package info
|
|
9
|
+
ROOT_DIR = Path(__file__).absolute().parent
|
|
10
|
+
PACKAGE_NAME = Path(__file__).absolute().parent.name.replace('-', '_')
|
|
11
|
+
PACKAGE_DIR = ROOT_DIR / PACKAGE_NAME
|
|
12
|
+
|
|
13
|
+
AUTHOR = "lqxnjk"
|
|
14
|
+
AUTHOR_EMAIL = "lqxnjk@qq.com"
|
|
15
|
+
DESCRIPTION = "A Python package for intelligent information bagging system"
|
|
16
|
+
LICENSE = "MIT"
|
|
17
|
+
PYTHON_REQUIRES = ">=3.7"
|
|
18
|
+
URL = f"https://github.com/lqxnjk/{PACKAGE_NAME}"
|
|
19
|
+
PROJECT_URLS = {
|
|
20
|
+
'Bug Reports': f'{URL}/issues',
|
|
21
|
+
'Source': URL,
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
# Package discovery
|
|
25
|
+
PACKAGE_EXCLUDES = ['tests*', 'docs*', 'examples*']
|
|
26
|
+
|
|
27
|
+
# Classifiers
|
|
28
|
+
CLASSIFIERS = [
|
|
29
|
+
"Development Status :: 3 - Alpha",
|
|
30
|
+
"Intended Audience :: Developers",
|
|
31
|
+
"Intended Audience :: Science/Research",
|
|
32
|
+
"Programming Language :: Python :: 3.7",
|
|
33
|
+
"License :: OSI Approved :: MIT License",
|
|
34
|
+
"Operating System :: OS Independent",
|
|
35
|
+
"Topic :: Software Development :: Libraries",
|
|
36
|
+
"Topic :: Scientific/Engineering",
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
# Keywords
|
|
40
|
+
KEYWORDS = ["ii", "etls", "lqxnjk", "data"]
|
|
41
|
+
|
|
42
|
+
# Package data
|
|
43
|
+
PACKAGE_DATA = {
|
|
44
|
+
PACKAGE_NAME: ['data/*.json', 'data/*.csv'],
|
|
45
|
+
}
|
|
46
|
+
# Entry points
|
|
47
|
+
ENTRY_POINTS = {
|
|
48
|
+
'hello': [
|
|
49
|
+
f'{PACKAGE_NAME}_version = {PACKAGE_NAME}.__init__:version',
|
|
50
|
+
],
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
# ========== Dynamic Value Functions ==========
|
|
55
|
+
def get_long_description():
|
|
56
|
+
"""Read README.md content as long description."""
|
|
57
|
+
with open('README.md', 'r', encoding='utf-8') as f:
|
|
58
|
+
return f.read()
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def get_version():
|
|
62
|
+
"""Read version from package __init__.py file."""
|
|
63
|
+
init_file = f"./{PACKAGE_NAME}/__init__.py"
|
|
64
|
+
if not os.path.exists(init_file):
|
|
65
|
+
print("【error】请检查版本信息")
|
|
66
|
+
return "0.0.1"
|
|
67
|
+
with open(init_file, 'r', encoding='utf-8') as f:
|
|
68
|
+
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", f.read(), re.M)
|
|
69
|
+
if version_match:
|
|
70
|
+
return version_match.group(1)
|
|
71
|
+
raise RuntimeError("Unable to find version string.")
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def get_requirements():
|
|
75
|
+
"""Read requirements from requirements.txt."""
|
|
76
|
+
with open(ROOT_DIR / 'requirements.txt', 'r', encoding='utf-8') as f:
|
|
77
|
+
return [
|
|
78
|
+
line.strip() for line in f
|
|
79
|
+
if line.strip()
|
|
80
|
+
and not line.startswith('#')
|
|
81
|
+
and not line.startswith('--')
|
|
82
|
+
]
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
REQUIREMENTS = get_requirements()
|
|
86
|
+
|
|
87
|
+
# Optional dependencies
|
|
88
|
+
EXTRAS_REQUIRE = {
|
|
89
|
+
':python_version < "3.8"': ['typing-extensions'],
|
|
90
|
+
'dev': [
|
|
91
|
+
# 'pytest>=6.0',
|
|
92
|
+
# 'pytest-cov>=2.0',
|
|
93
|
+
# 'flake8>=3.9',
|
|
94
|
+
# 'mypy>=0.910',
|
|
95
|
+
# 'sphinx>=4.0',
|
|
96
|
+
],
|
|
97
|
+
'plot': [
|
|
98
|
+
# 'matplotlib>=3.0',
|
|
99
|
+
# 'seaborn>=0.11',
|
|
100
|
+
],
|
|
101
|
+
'gpu': [
|
|
102
|
+
# 'cupy>=10.0'
|
|
103
|
+
],
|
|
104
|
+
'all': [f'{PACKAGE_NAME}[dev]', f'{PACKAGE_NAME}[plot]']
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
# ========== Setup Configuration ==========
|
|
108
|
+
setup(
|
|
109
|
+
name=PACKAGE_NAME,
|
|
110
|
+
version=get_version(),
|
|
111
|
+
packages=find_packages(exclude=PACKAGE_EXCLUDES),
|
|
112
|
+
install_requires=REQUIREMENTS,
|
|
113
|
+
extras_require=EXTRAS_REQUIRE,
|
|
114
|
+
include_package_data=True,
|
|
115
|
+
package_data=PACKAGE_DATA,
|
|
116
|
+
author=AUTHOR,
|
|
117
|
+
author_email=AUTHOR_EMAIL,
|
|
118
|
+
description=DESCRIPTION,
|
|
119
|
+
long_description=get_long_description(),
|
|
120
|
+
long_description_content_type='text/markdown',
|
|
121
|
+
url=URL,
|
|
122
|
+
project_urls=PROJECT_URLS,
|
|
123
|
+
classifiers=CLASSIFIERS,
|
|
124
|
+
python_requires=PYTHON_REQUIRES,
|
|
125
|
+
entry_points=ENTRY_POINTS,
|
|
126
|
+
license=LICENSE,
|
|
127
|
+
keywords=KEYWORDS,
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
# ========== Pyproject.toml Generation ==========
|
|
132
|
+
def generate_pyproject_toml():
|
|
133
|
+
"""Generate pyproject.toml from extracted variables."""
|
|
134
|
+
# Format project URLs for TOML
|
|
135
|
+
urls_toml = "\n".join(
|
|
136
|
+
f'{key.replace(" ", "-").lower()} = "{value}"'
|
|
137
|
+
for key, value in PROJECT_URLS.items()
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
# Format extras_require for TOML
|
|
141
|
+
extras_toml = []
|
|
142
|
+
for key, deps in EXTRAS_REQUIRE.items():
|
|
143
|
+
if key.startswith(':python_version'):
|
|
144
|
+
# Handle conditional dependencies
|
|
145
|
+
condition = key.split('"')[1]
|
|
146
|
+
extras_toml.append(
|
|
147
|
+
f'python_version_lt_{condition.replace(".", "_")} = {deps}'
|
|
148
|
+
)
|
|
149
|
+
else:
|
|
150
|
+
extras_toml.append(f'{key} = {deps}')
|
|
151
|
+
extras_toml_str = "\n".join(extras_toml)
|
|
152
|
+
PACKAGE_DATA_STR = "{" + ",\n".join([f'"{k}" = {v}' for k, v in PACKAGE_DATA.items()]) + "}"
|
|
153
|
+
pyproject_content = f"""[build-system]
|
|
154
|
+
requires = ["setuptools>=42", "wheel"]
|
|
155
|
+
build-backend = "setuptools.build_meta"
|
|
156
|
+
|
|
157
|
+
[project]
|
|
158
|
+
name = "{PACKAGE_NAME}"
|
|
159
|
+
version = "{get_version()}"
|
|
160
|
+
description = "{DESCRIPTION}"
|
|
161
|
+
readme = "README.md"
|
|
162
|
+
requires-python = "{PYTHON_REQUIRES}"
|
|
163
|
+
authors = [
|
|
164
|
+
{{ name = "{AUTHOR}", email = "{AUTHOR_EMAIL}" }},
|
|
165
|
+
]
|
|
166
|
+
license = {{ text = "{LICENSE}" }}
|
|
167
|
+
keywords = {KEYWORDS}
|
|
168
|
+
classifiers = {CLASSIFIERS}
|
|
169
|
+
dependencies = {REQUIREMENTS}
|
|
170
|
+
|
|
171
|
+
[project.urls]
|
|
172
|
+
homepage = "{URL}"
|
|
173
|
+
{urls_toml}
|
|
174
|
+
|
|
175
|
+
[project.optional-dependencies]
|
|
176
|
+
{extras_toml_str}
|
|
177
|
+
|
|
178
|
+
[tool.setuptools]
|
|
179
|
+
packages = {find_packages(exclude=PACKAGE_EXCLUDES)}
|
|
180
|
+
package-data = {PACKAGE_DATA_STR}
|
|
181
|
+
include-package-data = true
|
|
182
|
+
|
|
183
|
+
[tool.setuptools.dynamic]
|
|
184
|
+
version = {{ attr = "{PACKAGE_NAME}.__version__" }}
|
|
185
|
+
readme = {{ file = ["README.md"] }}
|
|
186
|
+
"""
|
|
187
|
+
|
|
188
|
+
with open("pyproject.toml", "w", encoding="utf-8") as f:
|
|
189
|
+
f.write(pyproject_content)
|
|
190
|
+
print("pyproject.toml generated successfully!")
|
|
191
|
+
|
|
192
|
+
# generate_pyproject_toml()
|