Skip to content

Commit a5a7c3e

Browse files
author
fer
committed
feat: Add Zenodo DOI 10.5281/zenodo.17602861 to repository
- Add DOI badge to README - Update CITATION.cff with DOI - Update .zenodo.json metadata - Add prominent citation section in README - Mark integration as completed in INTEGRATION_COMPLETE.md The repository now has official DOI for academic citations.
1 parent a11bfdb commit a5a7c3e

File tree

4 files changed

+242
-0
lines changed

4 files changed

+242
-0
lines changed

.zenodo.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"title": "TNFR-Python-Engine: Resonant Fractal Nature Theory Implementation",
33
"description": "Canonical computational implementation of TNFR - a paradigm shift from modeling 'things' to modeling coherent patterns that persist through resonance. This Python package provides the complete TNFR physics engine including the 13 structural operators, unified grammar validation (U1-U6), and the four canonical structural fields (Φ_s, |∇φ|, K_φ, ξ_C). Features include: nodal equation dynamics (∂EPI/∂t = νf·ΔNFR), structural potential confinement, phase synchronization, and multi-scale coherence analysis.",
4+
"doi": "10.5281/zenodo.17602861",
45
"creators": [
56
{
67
"name": "FMG",

CITATION.cff

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ authors:
88
affiliation: "TNFR Research"
99
repository-code: "https://github.com/fermga/TNFR-Python-Engine"
1010
url: "https://pypi.org/project/tnfr/"
11+
doi: "10.5281/zenodo.17602861"
1112
abstract: >-
1213
Canonical computational implementation of TNFR - a paradigm shift from
1314
modeling 'things' to modeling coherent patterns that persist through resonance.

INTEGRATION_COMPLETE.md

Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
# 🚀 Integración PyPI y Zenodo Completada
2+
3+
## 📋 Resumen de la Integración
4+
5+
La integración completa de TNFR-Python-Engine con PyPI y Zenodo ha sido **exitosamente configurada**. El repositorio ahora cuenta con todos los componentes necesarios para distribución académica y de paquetes.
6+
7+
## ✅ Componentes Implementados
8+
9+
### 1. **Metadatos de Zenodo** (`.zenodo.json`)
10+
```json
11+
{
12+
"title": "TNFR-Python-Engine",
13+
"description": "Resonant Fractal Nature Theory (TNFR) computational engine implementing the canonical 13 structural operators and unified grammar for modeling coherent patterns through resonance dynamics.",
14+
"version": "9.0.0",
15+
"creators": [
16+
{
17+
"name": "fermga",
18+
"affiliation": "TNFR Foundation"
19+
}
20+
],
21+
"keywords": [
22+
"TNFR",
23+
"Resonant Fractal Nature Theory",
24+
"complex systems",
25+
"network dynamics",
26+
"structural operators",
27+
"coherence theory",
28+
"physics simulation",
29+
"emergent systems",
30+
"phase synchronization",
31+
"computational physics"
32+
],
33+
"license": "MIT",
34+
"language": "python",
35+
"related_identifiers": [
36+
{
37+
"identifier": "https://github.com/fermga/TNFR-Python-Engine",
38+
"relation": "isSupplementTo",
39+
"resource_type": "software"
40+
},
41+
{
42+
"identifier": "https://pypi.org/project/tnfr/",
43+
"relation": "isVariantFormOf",
44+
"resource_type": "software"
45+
}
46+
]
47+
}
48+
```
49+
50+
### 2. **Archivo de Citación** (`CITATION.cff`)
51+
- Formato estándar CFF v1.2.0
52+
- Información completa para citación académica
53+
- Vinculado con DOI y repositorio
54+
55+
### 3. **Workflow de GitHub Actions** (`.github/workflows/pypi-zenodo.yml`)
56+
```yaml
57+
name: PyPI Release and Zenodo Integration
58+
59+
on:
60+
push:
61+
tags:
62+
- 'v*'
63+
64+
jobs:
65+
pypi-publish:
66+
name: Upload release to PyPI
67+
runs-on: ubuntu-latest
68+
environment:
69+
name: pypi
70+
url: https://pypi.org/p/tnfr
71+
permissions:
72+
id-token: write
73+
steps:
74+
- uses: actions/checkout@v4
75+
- uses: actions/setup-python@v4
76+
with:
77+
python-version: '3.x'
78+
- name: Install build dependencies
79+
run: python -m pip install --upgrade pip build
80+
- name: Build package
81+
run: python -m build
82+
- name: Publish package distributions to PyPI
83+
uses: pypa/gh-action-pypi-publish@release/v1
84+
```
85+
86+
### 4. **Script de Release Automático** (`release.py`)
87+
- Build automático del paquete
88+
- Gestión de versiones
89+
- Publicación a PyPI/TestPyPI
90+
- Validaciones integradas
91+
92+
## 🔧 Configuración Realizada
93+
94+
### Versioning y Tags
95+
- ✅ Sincronizado con PyPI existente (versión 9.0.0)
96+
- ✅ Tag v9.0.0 creado y sincronizado
97+
- ✅ Tag v9.0.1 creado para nueva versión
98+
- ✅ Setuptools-scm configurado para versionado automático
99+
100+
### Build System
101+
- ✅ pyproject.toml completamente configurado
102+
- ✅ Build local testado exitosamente
103+
- ✅ Distribuciones wheel y source generadas
104+
105+
### Metadatos del Paquete
106+
- ✅ Descripción completa de TNFR
107+
- ✅ Keywords científicas apropiadas
108+
- ✅ Clasificadores de PyPI actualizados
109+
- ✅ Enlaces a documentación y repositorio
110+
111+
## 📦 Archivos Generados
112+
113+
### Build Artifacts
114+
```
115+
dist/
116+
├── tnfr-8.6.0-py3-none-any.whl # Versión anterior
117+
├── tnfr-8.6.0.tar.gz # Versión anterior
118+
├── tnfr-9.0.1.dev0-py3-none-any.whl # Nueva versión
119+
└── tnfr-9.0.1.dev0.tar.gz # Nueva versión
120+
```
121+
122+
### Metadatos de Integración
123+
```
124+
.zenodo.json # Metadatos para Zenodo
125+
CITATION.cff # Archivo de citación estándar
126+
release.py # Script de release automático
127+
.github/workflows/ # Automation workflows
128+
```
129+
130+
## 🚀 Próximos Pasos
131+
132+
### Para Completar la Integración:
133+
134+
1. **Configurar Zenodo Webhook**
135+
- Ir a: https://zenodo.org/account/settings/github/
136+
- Conectar repositorio `fermga/TNFR-Python-Engine`
137+
- Activar webhook para releases automáticos
138+
139+
2. **Configurar PyPI Trusted Publishing**
140+
- Ir a: https://pypi.org/manage/project/tnfr/settings/
141+
- Configurar "Trusted Publishers"
142+
- Añadir GitHub Actions como publisher
143+
144+
3. **Primer Release Automático**
145+
```bash
146+
# Crear y pushear un tag activará el workflow
147+
git tag v9.0.2
148+
git push origin v9.0.2
149+
```
150+
151+
### Comandos de Release Manual:
152+
153+
```bash
154+
# Build local
155+
python -m build
156+
157+
# Release a TestPyPI (para testing)
158+
python release.py --test
159+
160+
# Release a PyPI (producción)
161+
python release.py
162+
163+
# Solo build sin publicar
164+
python release.py --build-only
165+
```
166+
167+
## 🎯 Estado Actual
168+
169+
### ✅ Completado
170+
- [x] Metadatos de Zenodo configurados
171+
- [x] Archivo de citación académica
172+
- [x] GitHub Actions workflow
173+
- [x] Script de release automático
174+
- [x] Build system funcional
175+
- [x] Versionado sincronizado
176+
- [x] Tags creados y pusheados
177+
178+
### ✅ Completado Exitosamente
179+
- [x] Activar webhook de Zenodo ✅
180+
- [x] Configurar PyPI Trusted Publishing ✅
181+
- [x] Probar primer release automático ✅
182+
- [x] **DOI Generado**: https://doi.org/10.5281/zenodo.17602861
183+
184+
## 🔬 Características Técnicas
185+
186+
### Proceso de Release
187+
1. **Trigger**: Push de tag con formato `v*`
188+
2. **Build**: Automático en GitHub Actions
189+
3. **PyPI**: Publicación vía Trusted Publishing
190+
4. **Zenodo**: Archivado automático vía webhook
191+
5. **DOI**: Generación automática para citación
192+
193+
### Compatibilidad
194+
- Python 3.8+
195+
- Multiplataforma (Windows, macOS, Linux)
196+
- Dependencias gestionadas automáticamente
197+
- Type hints incluidos
198+
199+
## 📚 Documentación de Uso
200+
201+
Una vez completada la configuración externa, el workflow será:
202+
203+
```bash
204+
# Desarrollo normal
205+
git add .
206+
git commit -m "feat: nueva funcionalidad"
207+
208+
# Release
209+
git tag v9.0.3
210+
git push origin v9.0.3
211+
# → Trigger automático: build → PyPI → Zenodo → DOI
212+
```
213+
214+
## 🏆 Resultado Final
215+
216+
El repositorio TNFR-Python-Engine ahora tiene:
217+
- **Distribución automática** en PyPI
218+
- **Archivado académico** en Zenodo
219+
- **DOI automático** para citaciones
220+
- **Release pipeline** completamente automatizado
221+
- **Metadatos científicos** apropiados
222+
223+
**Status**: ✅ **INTEGRACIÓN TÉCNICA COMPLETA** - Solo requiere configuración de webhooks externos.

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
**Model reality as coherent resonance, not isolated objects**
66

7+
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17602861.svg)](https://doi.org/10.5281/zenodo.17602861)
78
[![PyPI](https://img.shields.io/pypi/v/tnfr)](https://pypi.org/project/tnfr/)
89
[![Python](https://img.shields.io/pypi/pyversions/tnfr)](https://pypi.org/project/tnfr/)
910
[![License](https://img.shields.io/github/license/fermga/TNFR-Python-Engine)](LICENSE.md)
@@ -20,6 +21,22 @@ pip install tnfr
2021
```
2122
Optional GPU / extras: see Getting Started.
2223

24+
## 📄 Citation
25+
26+
If you use TNFR-Python-Engine in your research, please cite:
27+
28+
```bibtex
29+
@software{fermga_tnfr_2025,
30+
title = {TNFR-Python-Engine: Resonant Fractal Nature Theory Implementation},
31+
author = {FMG},
32+
year = {2025},
33+
url = {https://github.com/fermga/TNFR-Python-Engine},
34+
doi = {10.5281/zenodo.17602861}
35+
}
36+
```
37+
38+
**DOI**: [10.5281/zenodo.17602861](https://doi.org/10.5281/zenodo.17602861)
39+
2340
### Minimal Example
2441
```python
2542
from tnfr.sdk import TNFRNetwork

0 commit comments

Comments
 (0)