tnfr 2.0.1__tar.gz → 3.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.
Potentially problematic release.
This version of tnfr might be problematic. Click here for more details.
- {tnfr-2.0.1 → tnfr-3.0.1}/PKG-INFO +8 -1
- {tnfr-2.0.1 → tnfr-3.0.1}/pyproject.toml +12 -10
- tnfr-3.0.1/src/tnfr/__init__.py +58 -0
- tnfr-2.0.1/src/tnfr/__init__.py → tnfr-3.0.1/src/tnfr/main.py +6 -16
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr.egg-info/PKG-INFO +8 -1
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr.egg-info/SOURCES.txt +0 -1
- tnfr-2.0.1/src/tnfr/main.py +0 -0
- tnfr-2.0.1/src/tnfr.egg-info/entry_points.txt +0 -2
- {tnfr-2.0.1 → tnfr-3.0.1}/LICENSE.txt +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/README.md +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/setup.cfg +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr/constants.py +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr/dynamics.py +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr/helpers.py +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr/observers.py +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr/ontosim.py +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr/operators.py +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr.egg-info/dependency_links.txt +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr.egg-info/requires.txt +0 -0
- {tnfr-2.0.1 → tnfr-3.0.1}/src/tnfr.egg-info/top_level.txt +0 -0
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tnfr
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.1
|
|
4
4
|
Summary: TNFR canónica: dinámica glífica modular sobre redes.
|
|
5
5
|
Author: Fer
|
|
6
6
|
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://pypi.org/project/tnfr/
|
|
8
|
+
Project-URL: Repository, https://github.com/fermga/Teoria-de-la-naturaleza-fractal-resonante-TNFR-
|
|
9
|
+
Keywords: TNFR,fractal resonante,resonancia,glifos,networkx,dinámica,coherencia,EPI,Kuramoto
|
|
7
10
|
Classifier: Programming Language :: Python :: 3
|
|
8
11
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
9
12
|
Classifier: Programming Language :: Python :: 3.9
|
|
10
13
|
Classifier: Programming Language :: Python :: 3.10
|
|
11
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
12
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
17
|
Classifier: License :: OSI Approved :: MIT License
|
|
14
18
|
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Intended Audience :: Science/Research
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
15
22
|
Requires-Python: >=3.9
|
|
16
23
|
Description-Content-Type: text/markdown
|
|
17
24
|
License-File: LICENSE.txt
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "tnfr"
|
|
3
|
-
version = "
|
|
3
|
+
version = "3.0.1"
|
|
4
4
|
description = "TNFR canónica: dinámica glífica modular sobre redes."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.9"
|
|
7
7
|
license = { text = "MIT" }
|
|
8
8
|
authors = [{ name = "Fer" }]
|
|
9
|
+
keywords = [
|
|
10
|
+
"TNFR", "fractal resonante", "resonancia", "glifos",
|
|
11
|
+
"networkx", "dinámica", "coherencia", "EPI", "Kuramoto"
|
|
12
|
+
]
|
|
9
13
|
classifiers = [
|
|
10
14
|
"Programming Language :: Python :: 3",
|
|
11
15
|
"Programming Language :: Python :: 3 :: Only",
|
|
@@ -13,17 +17,15 @@ classifiers = [
|
|
|
13
17
|
"Programming Language :: Python :: 3.10",
|
|
14
18
|
"Programming Language :: Python :: 3.11",
|
|
15
19
|
"Programming Language :: Python :: 3.12",
|
|
20
|
+
"Programming Language :: Python :: 3.13",
|
|
16
21
|
"License :: OSI Approved :: MIT License",
|
|
17
22
|
"Operating System :: OS Independent",
|
|
23
|
+
"Intended Audience :: Science/Research",
|
|
24
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
25
|
+
"Topic :: Scientific/Engineering :: Information Analysis"
|
|
18
26
|
]
|
|
19
27
|
dependencies = ["networkx>=2.6"]
|
|
20
28
|
|
|
21
|
-
[project.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
[tool.setuptools]
|
|
25
|
-
package-dir = {"" = "src"}
|
|
26
|
-
|
|
27
|
-
[tool.setuptools.packages.find]
|
|
28
|
-
where = ["src"]
|
|
29
|
-
include = ["tnfr*"]
|
|
29
|
+
[project.urls]
|
|
30
|
+
Homepage = "https://pypi.org/project/tnfr/"
|
|
31
|
+
Repository = "https://github.com/fermga/Teoria-de-la-naturaleza-fractal-resonante-TNFR-"
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
"""
|
|
3
|
+
TNFR — Teoría de la Naturaleza Fractal Resonante
|
|
4
|
+
API pública del paquete.
|
|
5
|
+
|
|
6
|
+
Principio operativo (ecuación nodal):
|
|
7
|
+
∂EPI/∂t = νf · ΔNFR(t)
|
|
8
|
+
|
|
9
|
+
Re-exporta:
|
|
10
|
+
- preparar_red
|
|
11
|
+
- step, run, set_delta_nfr_hook
|
|
12
|
+
- attach_standard_observer, coherencia_global, orden_kuramoto
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
__version__ = "3.0.1"
|
|
16
|
+
|
|
17
|
+
# -------------------------------------------------------------------
|
|
18
|
+
# 1) Registrar alias ANTES de importar submódulos que usan imports
|
|
19
|
+
# absolutos (p.ej. `from constants import DEFAULTS`)
|
|
20
|
+
# -------------------------------------------------------------------
|
|
21
|
+
import sys as _sys
|
|
22
|
+
|
|
23
|
+
from . import constants as _constants
|
|
24
|
+
from . import helpers as _helpers
|
|
25
|
+
from . import operators as _operators
|
|
26
|
+
from . import observers as _observers
|
|
27
|
+
|
|
28
|
+
_sys.modules.setdefault("constants", _constants)
|
|
29
|
+
_sys.modules.setdefault("helpers", _helpers)
|
|
30
|
+
_sys.modules.setdefault("operators", _operators)
|
|
31
|
+
_sys.modules.setdefault("observers", _observers)
|
|
32
|
+
|
|
33
|
+
# -------------------------------------------------------------------
|
|
34
|
+
# 2) Ahora sí: importar módulos que dependen de esos alias
|
|
35
|
+
# -------------------------------------------------------------------
|
|
36
|
+
from .dynamics import step, run, set_delta_nfr_hook
|
|
37
|
+
from .ontosim import preparar_red
|
|
38
|
+
from .observers import attach_standard_observer, coherencia_global, orden_kuramoto
|
|
39
|
+
|
|
40
|
+
# (opcional) exponer también alias para `dynamics` y `ontosim`
|
|
41
|
+
# si algún código externo hace `from dynamics import run`, etc.
|
|
42
|
+
import types as _types
|
|
43
|
+
import importlib as _importlib
|
|
44
|
+
|
|
45
|
+
_dynamics_mod = _importlib.import_module(__name__ + ".dynamics")
|
|
46
|
+
_ontosim_mod = _importlib.import_module(__name__ + ".ontosim")
|
|
47
|
+
_sys.modules.setdefault("dynamics", _dynamics_mod)
|
|
48
|
+
_sys.modules.setdefault("ontosim", _ontosim_mod)
|
|
49
|
+
|
|
50
|
+
# -------------------------------------------------------------------
|
|
51
|
+
# 3) API pública
|
|
52
|
+
# -------------------------------------------------------------------
|
|
53
|
+
__all__ = [
|
|
54
|
+
"preparar_red",
|
|
55
|
+
"step", "run", "set_delta_nfr_hook",
|
|
56
|
+
"attach_standard_observer", "coherencia_global", "orden_kuramoto",
|
|
57
|
+
"__version__",
|
|
58
|
+
]
|
|
@@ -1,47 +1,37 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
-
import argparse
|
|
3
|
-
import sys
|
|
2
|
+
import argparse, sys
|
|
4
3
|
import networkx as nx
|
|
5
|
-
|
|
6
|
-
from . import preparar_red, run, attach_standard_observer, __version__
|
|
4
|
+
from . import preparar_red, run, __version__
|
|
7
5
|
|
|
8
6
|
def main(argv: list[str] | None = None) -> None:
|
|
9
7
|
p = argparse.ArgumentParser(
|
|
10
8
|
prog="tnfr",
|
|
11
|
-
description="TNFR canónica — demo CLI (
|
|
9
|
+
description="TNFR canónica — demo CLI (red Erdős–Rényi + dinámica glífica)",
|
|
12
10
|
)
|
|
13
11
|
p.add_argument("--version", action="store_true", help="muestra versión y sale")
|
|
14
12
|
p.add_argument("--n", type=int, default=30, help="nodos (Erdős–Rényi)")
|
|
15
13
|
p.add_argument("--p", type=float, default=0.15, help="probabilidad de arista (Erdős–Rényi)")
|
|
16
14
|
p.add_argument("--steps", type=int, default=100, help="pasos a simular")
|
|
17
15
|
p.add_argument("--observer", action="store_true", help="adjunta observador estándar")
|
|
18
|
-
|
|
19
|
-
|
|
20
16
|
args = p.parse_args(argv)
|
|
17
|
+
|
|
21
18
|
if args.version:
|
|
22
19
|
print(__version__)
|
|
23
20
|
return
|
|
24
21
|
|
|
25
|
-
|
|
26
22
|
G = nx.erdos_renyi_graph(args.n, args.p)
|
|
27
|
-
G
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
preparar_red(G)
|
|
23
|
+
preparar_red(G, ATTACH_STD_OBSERVER=bool(args.observer))
|
|
31
24
|
run(G, args.steps)
|
|
32
25
|
|
|
33
|
-
|
|
34
|
-
# resumen rápido al final
|
|
35
26
|
h = G.graph.get("history", {})
|
|
36
27
|
C = h.get("C_steps", [])[-1] if h.get("C_steps") else None
|
|
37
28
|
stab = h.get("stable_frac", [])[-1] if h.get("stable_frac") else None
|
|
38
29
|
R = h.get("kuramoto_R", [])[-1] if h.get("kuramoto_R") else None
|
|
39
30
|
|
|
40
|
-
|
|
41
31
|
print("TNFR terminado:")
|
|
42
32
|
if C is not None: print(f" C(t) ~ {C:.3f}")
|
|
43
33
|
if stab is not None: print(f" estable ~ {stab:.3f}")
|
|
44
34
|
if R is not None: print(f" R (Kuramoto) ~ {R:.3f}")
|
|
45
35
|
|
|
46
36
|
if __name__ == "__main__":
|
|
47
|
-
main(sys.argv[1:])
|
|
37
|
+
main(sys.argv[1:])
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tnfr
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.1
|
|
4
4
|
Summary: TNFR canónica: dinámica glífica modular sobre redes.
|
|
5
5
|
Author: Fer
|
|
6
6
|
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://pypi.org/project/tnfr/
|
|
8
|
+
Project-URL: Repository, https://github.com/fermga/Teoria-de-la-naturaleza-fractal-resonante-TNFR-
|
|
9
|
+
Keywords: TNFR,fractal resonante,resonancia,glifos,networkx,dinámica,coherencia,EPI,Kuramoto
|
|
7
10
|
Classifier: Programming Language :: Python :: 3
|
|
8
11
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
9
12
|
Classifier: Programming Language :: Python :: 3.9
|
|
10
13
|
Classifier: Programming Language :: Python :: 3.10
|
|
11
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
12
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
17
|
Classifier: License :: OSI Approved :: MIT License
|
|
14
18
|
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Intended Audience :: Science/Research
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
15
22
|
Requires-Python: >=3.9
|
|
16
23
|
Description-Content-Type: text/markdown
|
|
17
24
|
License-File: LICENSE.txt
|
tnfr-2.0.1/src/tnfr/main.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|