Skip to content

Commit 8172798

Browse files
authored
Create setup.py
1 parent 0da1003 commit 8172798

1 file changed

Lines changed: 90 additions & 0 deletions

File tree

‎setup.py‎

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
"""
2+
Setup script for Python Learning Repository
3+
============================================
4+
5+
This is a demonstration setup.py file showing how to package the repository.
6+
For actual installation, run:
7+
pip install -e .
8+
9+
Usage:
10+
python setup.py sdist bdist_wheel # Build distribution packages
11+
pip install . # Install as a package
12+
pip install -e . # Install in editable mode
13+
"""
14+
15+
from setuptools import setup, find_packages
16+
from pathlib import Path
17+
18+
# Read README for long description
19+
readme_path = Path(__file__).parent / "README.md"
20+
long_description = readme_path.read_text(encoding="utf-8") if readme_path.exists() else ""
21+
22+
setup(
23+
name="python-learning-repo",
24+
version="1.0.0",
25+
author="Python Learning Community",
26+
author_email="python-learning@example.com",
27+
description="A comprehensive guide to master Python programming",
28+
long_description=long_description,
29+
long_description_content_type="text/markdown",
30+
url="https://github.com/yourusername/python-learning-repo",
31+
project_urls={
32+
"Bug Tracker": "https://github.com/yourusername/python-learning-repo/issues",
33+
"Documentation": "https://github.com/yourusername/python-learning-repo#readme",
34+
"Source Code": "https://github.com/yourusername/python-learning-repo",
35+
},
36+
classifiers=[
37+
"Development Status :: 4 - Beta",
38+
"Intended Audience :: Developers",
39+
"Intended Audience :: Education",
40+
"Topic :: Software Development :: Libraries",
41+
"Topic :: Education",
42+
"License :: OSI Approved :: MIT License",
43+
"Programming Language :: Python :: 3",
44+
"Programming Language :: Python :: 3.9",
45+
"Programming Language :: Python :: 3.10",
46+
"Programming Language :: Python :: 3.11",
47+
"Programming Language :: Python :: 3.12",
48+
],
49+
keywords=["python", "learning", "tutorial", "education", "programming"],
50+
packages=find_packages(exclude=["tests*", "examples*"]),
51+
python_requires=">=3.9",
52+
install_requires=[
53+
# Core dependencies (minimal for learning materials)
54+
],
55+
extras_require={
56+
"dev": [
57+
"flake8>=6.0.0",
58+
"black>=23.0.0",
59+
"mypy>=1.0.0",
60+
"pytest>=7.0.0",
61+
"pytest-cov>=4.0.0",
62+
],
63+
"projects": [
64+
"requests>=2.31.0",
65+
"beautifulsoup4>=4.12.0",
66+
"pandas>=2.0.0",
67+
"numpy>=1.24.0",
68+
],
69+
"all": [
70+
"flake8>=6.0.0",
71+
"black>=23.0.0",
72+
"mypy>=1.0.0",
73+
"pytest>=7.0.0",
74+
"pytest-cov>=4.0.0",
75+
"requests>=2.31.0",
76+
"beautifulsoup4>=4.12.0",
77+
"pandas>=2.0.0",
78+
"numpy>=1.24.0",
79+
],
80+
},
81+
entry_points={
82+
"console_scripts": [
83+
"python-learn=quick_start:main",
84+
],
85+
},
86+
include_package_data=True,
87+
package_data={
88+
"": ["*.md", "*.txt", "*.py"],
89+
},
90+
)

0 commit comments

Comments
 (0)