kececilayout 0.4.9__py3-none-any.whl → 0.5.1__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.
- docs/conf.py +97 -0
- kececilayout/__init__.py +29 -3
- kececilayout/_version.py +3 -5
- kececilayout/kececi_layout.py +587 -6
- {kececilayout-0.4.9.dist-info → kececilayout-0.5.1.dist-info}/METADATA +758 -25
- kececilayout-0.5.1.dist-info/RECORD +10 -0
- {kececilayout-0.4.9.dist-info → kececilayout-0.5.1.dist-info}/WHEEL +1 -1
- kececilayout-0.5.1.dist-info/licenses/LICENSE +661 -0
- {kececilayout-0.4.9.dist-info → kececilayout-0.5.1.dist-info}/top_level.txt +2 -0
- tests/test_sample.py +261 -0
- kececilayout-0.4.9.dist-info/RECORD +0 -8
- kececilayout-0.4.9.dist-info/licenses/LICENSE +0 -21
docs/conf.py
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Configuration file for the Sphinx documentation builder.
|
|
2
|
+
import os
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
# Proje kök dizinini Python yoluna ekle (kececilayout'u bulmak için)
|
|
6
|
+
sys.path.insert(0, os.path.abspath('..'))
|
|
7
|
+
|
|
8
|
+
# Proje Bilgileri
|
|
9
|
+
project = 'kececilayout'
|
|
10
|
+
copyright = '2025, Mehmet Keçeci'
|
|
11
|
+
author = 'Mehmet Keçeci'
|
|
12
|
+
|
|
13
|
+
# Sürüm Bilgisi (setuptools_scm kullanmıyorsanız sabit olarak tanımlayın)
|
|
14
|
+
# Gerçek sürümü modülden al (eğer mümkünse)
|
|
15
|
+
try:
|
|
16
|
+
from kececilayout import __version__
|
|
17
|
+
version = __version__
|
|
18
|
+
release = __version__
|
|
19
|
+
except (ImportError, AttributeError) as e:
|
|
20
|
+
print(f"Warning: Could not import __version__ from kececilayout: {e}")
|
|
21
|
+
# Varsayılan değerler korunur
|
|
22
|
+
# version = '0.2.7' # Geliştirme sürümü
|
|
23
|
+
# release = '0.2.7' # Yayın sürümü
|
|
24
|
+
|
|
25
|
+
# Ana belge
|
|
26
|
+
master_doc = 'index'
|
|
27
|
+
|
|
28
|
+
# Sphinx Uzantıları
|
|
29
|
+
extensions = [
|
|
30
|
+
'sphinx.ext.autodoc',
|
|
31
|
+
'sphinx.ext.viewcode', # "Show Source" linki
|
|
32
|
+
'sphinx.ext.napoleon', # Google/NumPy docstring desteği
|
|
33
|
+
'sphinx.ext.intersphinx', # Dış belgelere link (ör: Python, NetworkX)
|
|
34
|
+
'sphinx.ext.autosummary', # Otomatik özet tabloları
|
|
35
|
+
'sphinx_rtd_theme', # Read the Docs teması
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
# Otomatik Özet (autosummary)
|
|
39
|
+
autosummary_generate = True
|
|
40
|
+
autodoc_default_options = {
|
|
41
|
+
'members': True,
|
|
42
|
+
'undoc-members': True,
|
|
43
|
+
'show-inheritance': True,
|
|
44
|
+
'special-members': '__init__',
|
|
45
|
+
'exclude-members': '__weakref__'
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
# Mock Imports — RTD'de kurulamayan modülleri taklit et
|
|
49
|
+
autodoc_mock_imports = [
|
|
50
|
+
"igraph",
|
|
51
|
+
"networkit",
|
|
52
|
+
"rustworkx",
|
|
53
|
+
"graphillion",
|
|
54
|
+
"itertools", # Bu aslında stdlib ama bazen sorun çıkarabilir
|
|
55
|
+
]
|
|
56
|
+
|
|
57
|
+
# Dış Belge Linkleri (intersphinx)
|
|
58
|
+
intersphinx_mapping = {
|
|
59
|
+
'python': ('https://docs.python.org/3', None),
|
|
60
|
+
'networkx': ('https://networkx.org/documentation/stable/', None),
|
|
61
|
+
'matplotlib': ('https://matplotlib.org/stable/', None),
|
|
62
|
+
'numpy': ('https://numpy.org/doc/stable/', None),
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
# Hariç Tutulan Dosyalar
|
|
66
|
+
exclude_patterns = [
|
|
67
|
+
'_build',
|
|
68
|
+
'Thumbs.db',
|
|
69
|
+
'.DS_Store',
|
|
70
|
+
'**/.ipynb_checkpoints',
|
|
71
|
+
'README.md' # HTML'e çevrilmemesi için
|
|
72
|
+
]
|
|
73
|
+
|
|
74
|
+
# HTML Ayarları
|
|
75
|
+
html_theme = 'sphinx_rtd_theme'
|
|
76
|
+
html_static_path = ['_static']
|
|
77
|
+
html_logo = '_static/logo.png' # Opsiyonel: logo
|
|
78
|
+
html_favicon = '_static/favicon.ico' # Opsiyonel: favicon
|
|
79
|
+
html_title = "KeçeciLayout Docs"
|
|
80
|
+
|
|
81
|
+
# HTML Tema Seçenekleri
|
|
82
|
+
html_theme_options = {
|
|
83
|
+
'navigation_depth': 4,
|
|
84
|
+
'collapse_navigation': False,
|
|
85
|
+
'sticky_navigation': True,
|
|
86
|
+
'logo_only': True,
|
|
87
|
+
'display_version': True,
|
|
88
|
+
'prev_next_buttons_location': 'bottom',
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
# -- Extra: Eğer kececilayout içinde sürüm varsa, onu kullan (opsiyonel) --
|
|
92
|
+
# try:
|
|
93
|
+
# from kececilayout import __version__
|
|
94
|
+
# version = __version__
|
|
95
|
+
# release = __version__
|
|
96
|
+
# except (ImportError, AttributeError):
|
|
97
|
+
# pass
|
kececilayout/__init__.py
CHANGED
|
@@ -10,7 +10,7 @@ import inspect
|
|
|
10
10
|
import warnings
|
|
11
11
|
|
|
12
12
|
# Paket sürüm numarası
|
|
13
|
-
__version__ = "0.
|
|
13
|
+
__version__ = "0.5.1"
|
|
14
14
|
|
|
15
15
|
# =============================================================================
|
|
16
16
|
# OTOMATİK İÇE AKTARMA VE __all__ OLUŞTURMA
|
|
@@ -48,6 +48,20 @@ from .kececi_layout import ( # Veya fonksiyonların bulunduğu asıl modül
|
|
|
48
48
|
get_text_color_for_bg,
|
|
49
49
|
generate_soft_random_colors,
|
|
50
50
|
generate_distinct_colors,
|
|
51
|
+
calculate_coordinates,
|
|
52
|
+
calculate_coordinates,
|
|
53
|
+
kececi_layout_2d,
|
|
54
|
+
kececi_layout_cylindrical,
|
|
55
|
+
kececi_layout_cubic,
|
|
56
|
+
kececi_layout_spherical,
|
|
57
|
+
kececi_layout_elliptical,
|
|
58
|
+
kececi_layout_toric,
|
|
59
|
+
draw_kececi_weighted,
|
|
60
|
+
draw_kececi_colored,
|
|
61
|
+
kececi_layout_edge,
|
|
62
|
+
_compute_positions,
|
|
63
|
+
_extract_graph_data,
|
|
64
|
+
_validate_directions,
|
|
51
65
|
|
|
52
66
|
# Drawing functions
|
|
53
67
|
draw_kececi,
|
|
@@ -88,7 +102,20 @@ __all__ = [
|
|
|
88
102
|
'get_text_color_for_bg',
|
|
89
103
|
'generate_soft_random_colors',
|
|
90
104
|
'generate_distinct_colors',
|
|
91
|
-
|
|
105
|
+
'calculate_coordinates',
|
|
106
|
+
'kececi_layout_2d',
|
|
107
|
+
'kececi_layout_cylindrical',
|
|
108
|
+
'kececi_layout_cubic',
|
|
109
|
+
'kececi_layout_spherical',
|
|
110
|
+
'kececi_layout_elliptical',
|
|
111
|
+
'kececi_layout_toric',
|
|
112
|
+
'draw_kececi_weighted',
|
|
113
|
+
'draw_kececi_colored',
|
|
114
|
+
'kececi_layout_edge',
|
|
115
|
+
'_compute_positions',
|
|
116
|
+
'_extract_graph_data',
|
|
117
|
+
'_validate_directions',
|
|
118
|
+
|
|
92
119
|
# Drawing functions
|
|
93
120
|
'draw_kececi',
|
|
94
121
|
'_draw_internal', # <- TESTLER İÇİN GEREKLİ
|
|
@@ -139,4 +166,3 @@ def old_function_placeholder():
|
|
|
139
166
|
# Eğer bu eski fonksiyonu da dışa aktarmak istiyorsanız, __all__ listesine ekleyin
|
|
140
167
|
# __all__.append('old_function_placeholder')
|
|
141
168
|
|
|
142
|
-
|
kececilayout/_version.py
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
# _version.py
|
|
2
2
|
|
|
3
|
-
__version__ = "0.
|
|
4
|
-
__license__ = "
|
|
3
|
+
__version__ = "0.5.0"
|
|
4
|
+
__license__ = "AGPL3.0-or-later"
|
|
5
5
|
__description__ = "A deterministic node placement algorithm used in graph visualization. In this layout, nodes are arranged sequentially along a defined primary axis. Each subsequent node is then alternately offset along a secondary, perpendicular axis, typically moving to one side of the primary axis and then the other. Often, the magnitude of this secondary offset increases as nodes progress along the primary axis, creating a characteristic zig-zag or serpentine pattern."
|
|
6
6
|
__author__ = "Mehmet Keçeci"
|
|
7
7
|
__url__ = "https://github.com/WhiteSymmetry/kececilayout"
|
|
8
8
|
__docs__ = "https://github.com/WhiteSymmetry/kececilayout" # Opsiyonel: Dokümantasyon linki
|
|
9
|
-
__dependencies__ = ["python>=3.
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
__dependencies__ = ["python>=3.11"] # Diğer bağımlılıkları da ekleyebilirsiniz
|
|
12
10
|
|