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 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,4 @@
1
+ """
2
+ lqxnjk lqxnjk@qq.com
3
+ """
4
+ __version__ = "0.0.1"
@@ -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,11 @@
1
+ MANIFEST.in
2
+ README.md
3
+ requirements.txt
4
+ setup.py
5
+ lxj/__init__.py
6
+ lxj.egg-info/PKG-INFO
7
+ lxj.egg-info/SOURCES.txt
8
+ lxj.egg-info/dependency_links.txt
9
+ lxj.egg-info/entry_points.txt
10
+ lxj.egg-info/requires.txt
11
+ lxj.egg-info/top_level.txt
@@ -0,0 +1,3 @@
1
+ [hello]
2
+ lxj_version = lxj.__init__:version
3
+
@@ -0,0 +1,13 @@
1
+
2
+ [:python_version < "3.8"]
3
+ typing-extensions
4
+
5
+ [all]
6
+ lxj[dev]
7
+ lxj[plot]
8
+
9
+ [dev]
10
+
11
+ [gpu]
12
+
13
+ [plot]
@@ -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
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
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()