Skip to content

Commit 51a6684

Browse files
committed
Poetry mejorado y más completo
1 parent 80790eb commit 51a6684

13 files changed

Lines changed: 366 additions & 222 deletions

File tree

docs/blog/posts/v2.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@ social:
2222

2323
- Sección [Poetry](../../entornos/poetry/index.md):
2424
- Entrypoints (comandos custom) explicados.
25-
25+
- Empaquetado publicado;
26+
- Contenidos mejor repartidos;
27+
- Empaquetado agregado (resumido);
28+
- Agregado de dependencias mejorado.
2629

2730
<!-- mas -->
2831

docs/entornos/fundamentos.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
date:
33
created: 2025-03-23
44
updated: 2025-08-16
5-
status: new
65
---
76

87

docs/entornos/poetry/comenzando.md

Lines changed: 0 additions & 204 deletions
This file was deleted.

docs/entornos/poetry/crear.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
date:
3+
created: 2025-08-16
4+
updated: 2025-08-18
5+
---
6+
7+
8+
# Crear proyecto
9+
10+
Poetry proporciona herramientas para crear nuevos proyectos
11+
y también puede ser agregado a un proyecto preexistente.
12+
13+
14+
## Archivo TOML
15+
16+
El archivo `pyproject.toml` es el archivo de configuración principal.
17+
En él se incluye la información de las dependencias,
18+
las versiones de Python compatibles,
19+
la información del autor y su contacto,
20+
etc.
21+
Lo habitual es dejar a Poetry crear este archivo mediante comandos.
22+
23+
## Proyecto vacío
24+
25+
El comando `new` permite crear un nuevo proyecto,
26+
junto a algunos directorios:
27+
28+
```bash title="Nuevo proyecto"
29+
poetry new nuevo_proyecto
30+
```
31+
32+
Tras ejecutar este comando
33+
se abre un menú interactivo en consola para configurar las opciones del proyecto una por una,
34+
información del autor y de contacto,
35+
licencia del proyecto, etc.
36+
Es mejor que el directorio del proyecto no exista previamente para asegurar que Poetry cree todos los archivos y carpetas internos.
37+
38+
Este es el contenido generado:
39+
40+
```bash title="Nuevo proyecto - arbol de archivos"
41+
nuevo_proyecto
42+
├── pyproject.toml
43+
├── README.md
44+
├── src
45+
│ └── nuevo_proyecto
46+
│ └── __init__.py
47+
└── tests
48+
└── __init__.py
49+
```
50+
51+
Poetry asume por default que el proyecto será dedicado al desarrollo de paquetes,
52+
por eso crea un directorio con el mismo nombre de proyecto adentro de la carpeta `src`.
53+
El directorio `tests`
54+
está pensado para correr tests unitarios
55+
mediante paquetes como *Pytest*.
56+
57+
Todos los archivos se crean vacíos, excepto el archivo `pyproject.toml`
58+
el cual es configurado interactivamente.
59+
60+
!!! info "src-layout"
61+
62+
El esquema de archivos seguido por Poetry
63+
es llamado comunmente *src-layout*.
64+
65+
66+
El archivo TOML resultante
67+
tiene un contenido como este:
68+
69+
```toml title=""
70+
[project]
71+
name = "nuevo_proyecto"
72+
version = "0.1.0"
73+
description = ""
74+
authors = [{name = "", email = "yo@miserver.me"}]
75+
readme = "README.md"
76+
requires-python = ">=3.13"
77+
dependencies = [
78+
]
79+
80+
[tool.poetry]
81+
packages = [{include = "paquete", from = "src"}]
82+
83+
[build-system]
84+
requires = ["poetry-core>=2.0.0,<3.0.0"]
85+
build-backend = "poetry.core.masonry.api"
86+
```
87+
88+
Los campos creados pueden ser modificados manualmente.
89+
También pueden agregarse los campos adicionales
90+
que se indican en la
91+
[documentación oficial](https://python-poetry.org/docs/pyproject/).
92+
93+
94+
## Crear TOML
95+
96+
Para crear solamente el archivo `pyproject.toml` dentro del directorio actual se usa el comando `init`:
97+
98+
```bash title="Nuevo archivo de proyecto"
99+
poetry init
100+
```
101+
102+
Tras ejecutar este comando
103+
se abre el mismo menú interactivo que en el caso del comando `new`.
104+
La organización de los archivos
105+
queda en este caso
106+
a discreción del desarrollador.

0 commit comments

Comments
 (0)