Py-Project-Packagor 1.0.0__py3-none-any.whl
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.
- py_project_packagor/__init__.py +1 -0
- py_project_packagor/init.py +24 -0
- py_project_packagor/make_path.py +16 -0
- py_project_packagor/py.typed +0 -0
- py_project_packagor/pyproject_contain.py +26 -0
- py_project_packagor/readme_contain.py +31 -0
- py_project_packagor/run.py +7 -0
- py_project_packagor/write.py +23 -0
- py_project_packagor-1.0.0.dist-info/METADATA +33 -0
- py_project_packagor-1.0.0.dist-info/RECORD +13 -0
- py_project_packagor-1.0.0.dist-info/WHEEL +5 -0
- py_project_packagor-1.0.0.dist-info/entry_points.txt +2 -0
- py_project_packagor-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# PY_PROJECT_PACKAGER par Fabrice Kopf
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
class Project:
|
|
2
|
+
def __init__(self):
|
|
3
|
+
project_name = input("Project_name (my_project): ")
|
|
4
|
+
self.project_name = (
|
|
5
|
+
project_name.replace(" ", "_") if project_name != "" else "my_project"
|
|
6
|
+
)
|
|
7
|
+
version = input("Version (1.0.0): ")
|
|
8
|
+
self.version = version if version != "" else "1.0.0"
|
|
9
|
+
description = input("Description (Mon projet Python): ")
|
|
10
|
+
self.description = description if description != "" else "Mon projet Python"
|
|
11
|
+
author_fullname = input("Author fullname (John Lennon): ")
|
|
12
|
+
self.author_fullname = (
|
|
13
|
+
author_fullname.title() if author_fullname != "" else "John Lennon"
|
|
14
|
+
)
|
|
15
|
+
author_email = input("Author email (john.lennon@beatles.uk): ")
|
|
16
|
+
self.author_email = (
|
|
17
|
+
author_email if author_email != "" else "john.lennon@beatles.uk"
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
self.author = f"""[
|
|
21
|
+
{{ name = "{author_fullname}", email= "{author_email}" }},
|
|
22
|
+
]"""
|
|
23
|
+
|
|
24
|
+
self.norm_project_name = self.project_name.lower().replace(" ", "_")
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
from .init import Project
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def make_paths(project: Project):
|
|
7
|
+
parent = Path.cwd()
|
|
8
|
+
src = parent / "src"
|
|
9
|
+
if not src.exists():
|
|
10
|
+
os.mkdir(src)
|
|
11
|
+
|
|
12
|
+
project_path = src / f"{project.norm_project_name}"
|
|
13
|
+
if not project_path.exists():
|
|
14
|
+
os.mkdir(project_path)
|
|
15
|
+
|
|
16
|
+
return parent, src, project_path
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from .init import Project
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def get_pyproject_contain(project: Project):
|
|
5
|
+
return f"""
|
|
6
|
+
[project]
|
|
7
|
+
name = "{project.project_name}"
|
|
8
|
+
version = "{project.version}"
|
|
9
|
+
description = "{project.description}"
|
|
10
|
+
authors = {project.author}
|
|
11
|
+
readme = "README.md"
|
|
12
|
+
|
|
13
|
+
[build-system]
|
|
14
|
+
requires = ["setuptools>=61"]
|
|
15
|
+
build-backend = "setuptools.build_meta"
|
|
16
|
+
|
|
17
|
+
# [project.scripts]
|
|
18
|
+
# script_cde = "{project.norm_project_name}.module:method"
|
|
19
|
+
|
|
20
|
+
[tool.setuptools.packages.find]
|
|
21
|
+
where = ["src"]
|
|
22
|
+
include = ["{project.norm_project_name}*"]
|
|
23
|
+
|
|
24
|
+
[tool.setuptools.package-data]
|
|
25
|
+
func = ["py.typed"]
|
|
26
|
+
"""
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from .init import Project
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def get_readme_contain(project: Project):
|
|
5
|
+
return f"""
|
|
6
|
+
# Votre Package {project.project_name.upper()}
|
|
7
|
+
|
|
8
|
+
Créer et activer votre environnement.
|
|
9
|
+
|
|
10
|
+
Installer build:
|
|
11
|
+
```
|
|
12
|
+
pip install build
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Installer votre package:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
python3 -m build
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Il crée un dossier /dist contenant votre package prêt à être installé.
|
|
22
|
+
Ainsi qu'une archive.
|
|
23
|
+
|
|
24
|
+
## Installer votre package dans un autre projet:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
pip install from_chemin/dist/nom_de_votre_package
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
"""
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from .init import Project
|
|
2
|
+
from .make_path import make_paths
|
|
3
|
+
from .pyproject_contain import get_pyproject_contain
|
|
4
|
+
from .readme_contain import get_readme_contain
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def write(project: Project):
|
|
8
|
+
parent, _, project_path = make_paths(project)
|
|
9
|
+
pyproject_contain = get_pyproject_contain(project)
|
|
10
|
+
readme_contain = get_readme_contain(project)
|
|
11
|
+
with open(project_path / "__init__.py", "w") as f:
|
|
12
|
+
f.write(f"# {project.project_name.upper()} par {project.author_fullname}\n")
|
|
13
|
+
|
|
14
|
+
with open(project_path / "py.typed", "w") as f:
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
with open(parent / "pyproject.toml", "w") as f:
|
|
18
|
+
contain = pyproject_contain.replace("\n", "", 1)
|
|
19
|
+
f.write(contain)
|
|
20
|
+
|
|
21
|
+
with open(parent / "README.md", "w") as f:
|
|
22
|
+
contain = readme_contain.replace("\n", "", 1)
|
|
23
|
+
f.write(contain)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: Py_Project_Packagor
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Générateur de projet python
|
|
5
|
+
Author-email: Fabrice Kopf <contact@fabricekopf.fr>
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
|
|
8
|
+
# Votre Package PY_PROJECT_PACKAGER
|
|
9
|
+
|
|
10
|
+
Créer et activer votre environnement.
|
|
11
|
+
|
|
12
|
+
Installer build:
|
|
13
|
+
```
|
|
14
|
+
pip install build
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Installer votre package:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
python3 -m build
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Il crée un dossier /dist contenant votre package prêt à être installé.
|
|
24
|
+
Ainsi qu'une archive.
|
|
25
|
+
|
|
26
|
+
## Installer votre package dans un autre projet:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
pip install from_chemin/dist/nom_de_votre_package
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
py_project_packagor/__init__.py,sha256=0b-ynduYI8gCvnbgyd7yENIlY-u8fUHOq0K6jeI8fcw,39
|
|
2
|
+
py_project_packagor/init.py,sha256=2lJCVdGV4Z8W6cFRVlIHntL4uKRgmvgOb4jnTzV9K60,1048
|
|
3
|
+
py_project_packagor/make_path.py,sha256=eZTCGBD5YhXDVS1rcqvpbNoaZXhgOtOq_Fnj83WNVzM,353
|
|
4
|
+
py_project_packagor/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
py_project_packagor/pyproject_contain.py,sha256=EkvSKs76lKmMYy3QLEZb6_JbIgh_uYMBNWLpIXtDOHc,565
|
|
6
|
+
py_project_packagor/readme_contain.py,sha256=XWHxij2R5ZqgkMEnhhChql1C4a_G7Wiaje5Tw5wQ-gE,495
|
|
7
|
+
py_project_packagor/run.py,sha256=5WNQh3uiAxiwF6TMLFCPoZQqjrCu1C3P1Taq_OC5lQs,107
|
|
8
|
+
py_project_packagor/write.py,sha256=oM_8bKsBxCZvzf_xceQo96Rv38sWZnZHy0Xqnki6NX0,813
|
|
9
|
+
py_project_packagor-1.0.0.dist-info/METADATA,sha256=80eh0g_yItrHsYEbCjBMOGuKKsAXzWJcC6WS_2bdnbU,590
|
|
10
|
+
py_project_packagor-1.0.0.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
|
|
11
|
+
py_project_packagor-1.0.0.dist-info/entry_points.txt,sha256=uVfAsXAk6nhbOSlkMQiDMt3pczdrPj-P3EGanQBb_Wg,56
|
|
12
|
+
py_project_packagor-1.0.0.dist-info/top_level.txt,sha256=OeHM6-rCI0WO0SU3zftgZ8O6vhhp9rfvDM-ii2fZEuY,20
|
|
13
|
+
py_project_packagor-1.0.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
py_project_packagor
|