knit-graphs 0.0.6__py3-none-any.whl → 0.0.8__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.
- knit_graphs-0.0.6.dist-info/licenses/LICENSE → LICENSE +21 -21
- README.md +75 -0
- docs/Makefile +20 -0
- docs/make.bat +35 -0
- docs/source/api/knit_graphs.Course.rst +7 -0
- docs/source/api/knit_graphs.Knit_Graph.rst +7 -0
- docs/source/api/knit_graphs.Knit_Graph_Visualizer.rst +7 -0
- docs/source/api/knit_graphs.Loop.rst +7 -0
- docs/source/api/knit_graphs.Pull_Direction.rst +7 -0
- docs/source/api/knit_graphs.Yarn.rst +7 -0
- docs/source/api/knit_graphs.artin_wale_braids.Crossing_Direction.rst +7 -0
- docs/source/api/knit_graphs.artin_wale_braids.Loop_Braid_Graph.rst +7 -0
- docs/source/api/knit_graphs.artin_wale_braids.Wale.rst +7 -0
- docs/source/api/knit_graphs.artin_wale_braids.Wale_Braid.rst +7 -0
- docs/source/api/knit_graphs.artin_wale_braids.Wale_Braid_Word.rst +7 -0
- docs/source/api/knit_graphs.artin_wale_braids.Wale_Group.rst +7 -0
- docs/source/api/knit_graphs.artin_wale_braids.rst +23 -0
- docs/source/api/knit_graphs.basic_knit_graph_generators.rst +7 -0
- docs/source/api/knit_graphs.rst +32 -0
- docs/source/conf.py +335 -0
- docs/source/index.rst +71 -0
- docs/source/installation.rst +67 -0
- knit_graphs/Course.py +156 -104
- knit_graphs/Knit_Graph.py +249 -186
- knit_graphs/Knit_Graph_Visualizer.py +675 -0
- knit_graphs/Loop.py +141 -155
- knit_graphs/Pull_Direction.py +68 -23
- knit_graphs/Yarn.py +424 -267
- knit_graphs/__init__.py +3 -3
- knit_graphs/_base_classes.py +173 -0
- knit_graphs/artin_wale_braids/Crossing_Direction.py +74 -15
- knit_graphs/artin_wale_braids/Loop_Braid_Graph.py +95 -62
- knit_graphs/artin_wale_braids/Wale.py +169 -93
- knit_graphs/artin_wale_braids/Wale_Braid.py +50 -30
- knit_graphs/artin_wale_braids/Wale_Braid_Word.py +99 -54
- knit_graphs/artin_wale_braids/Wale_Group.py +136 -88
- knit_graphs/basic_knit_graph_generators.py +251 -0
- knit_graphs-0.0.8.dist-info/LICENSE +21 -0
- {knit_graphs-0.0.6.dist-info → knit_graphs-0.0.8.dist-info}/METADATA +33 -24
- knit_graphs-0.0.8.dist-info/RECORD +42 -0
- {knit_graphs-0.0.6.dist-info → knit_graphs-0.0.8.dist-info}/WHEEL +1 -1
- knit_graphs/__about__.py +0 -4
- knit_graphs/knit_graph_generators/__init__.py +0 -0
- knit_graphs/knit_graph_generators/basic_knit_graph_generators.py +0 -248
- knit_graphs/knit_graph_visualizer/Stitch_Visualizer.py +0 -427
- knit_graphs/knit_graph_visualizer/__init__.py +0 -0
- knit_graphs-0.0.6.dist-info/RECORD +0 -22
docs/source/conf.py
ADDED
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Configuration file for the Sphinx documentation builder.
|
|
3
|
+
=============================================================================
|
|
4
|
+
SPHINX DOCUMENTATION CONFIGURATION
|
|
5
|
+
=============================================================================
|
|
6
|
+
This file configures how Sphinx generates documentation from your Python code.
|
|
7
|
+
For the full list of built-in configuration values, see:
|
|
8
|
+
https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
import os
|
|
12
|
+
import sys
|
|
13
|
+
from datetime import datetime
|
|
14
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
15
|
+
|
|
16
|
+
# =============================================================================
|
|
17
|
+
# PATH SETUP
|
|
18
|
+
# =============================================================================
|
|
19
|
+
# Add the project root and source directory to Python path so Sphinx can import your modules
|
|
20
|
+
|
|
21
|
+
# Path to your source code (adjust if not using src/ layout)
|
|
22
|
+
sys.path.insert(0, os.path.abspath('..')) # Project root
|
|
23
|
+
sys.path.insert(0, os.path.abspath('../src')) # Source directory
|
|
24
|
+
sys.path.insert(0, os.path.abspath('.')) # Docs directory
|
|
25
|
+
|
|
26
|
+
# =============================================================================
|
|
27
|
+
# PROJECT INFORMATION
|
|
28
|
+
# =============================================================================
|
|
29
|
+
|
|
30
|
+
project = 'knit-graphs'
|
|
31
|
+
copyright = f'{datetime.now().year}, Megan Hofmann'
|
|
32
|
+
author = 'Megan Hofmann'
|
|
33
|
+
|
|
34
|
+
try:
|
|
35
|
+
# Get version from installed package metadata
|
|
36
|
+
# This reads from pyproject.toml when the package is installed
|
|
37
|
+
version = version("knit-graphs")
|
|
38
|
+
except PackageNotFoundError:
|
|
39
|
+
# Package is not installed (e.g., during development)
|
|
40
|
+
# This happens when running from source without installation
|
|
41
|
+
version = "0.0.0+dev"
|
|
42
|
+
|
|
43
|
+
release = version
|
|
44
|
+
|
|
45
|
+
# =============================================================================
|
|
46
|
+
# GENERAL CONFIGURATION
|
|
47
|
+
# =============================================================================
|
|
48
|
+
|
|
49
|
+
# Extensions to enable (these add functionality to Sphinx)
|
|
50
|
+
extensions = [
|
|
51
|
+
# Core Sphinx extensions
|
|
52
|
+
'sphinx.ext.autodoc', # Generate docs from docstrings
|
|
53
|
+
'sphinx.ext.autosummary', # Generate summary tables automatically
|
|
54
|
+
'sphinx.ext.viewcode', # Add [source] links to documentation
|
|
55
|
+
'sphinx.ext.napoleon', # Support Google/NumPy docstring styles
|
|
56
|
+
'sphinx.ext.intersphinx', # Link to other project docs (e.g., Python docs)
|
|
57
|
+
'sphinx.ext.githubpages', # Publish to GitHub Pages (.nojekyll file)
|
|
58
|
+
'sphinx.ext.todo', # Support TODO items in docs
|
|
59
|
+
'sphinx.ext.coverage', # Check documentation coverage
|
|
60
|
+
'sphinx.ext.doctest', # Test code snippets in documentation
|
|
61
|
+
|
|
62
|
+
# Third-party extensions (these need to be installed)
|
|
63
|
+
'sphinx_autodoc_typehints', # Better type hint rendering
|
|
64
|
+
'myst_parser', # Support for Markdown files (optional)
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
# =============================================================================
|
|
68
|
+
# SOURCE FILE CONFIGURATION
|
|
69
|
+
# =============================================================================
|
|
70
|
+
|
|
71
|
+
# File extensions that Sphinx will process
|
|
72
|
+
source_suffix = {
|
|
73
|
+
'.rst': None, # RestructuredText (default)
|
|
74
|
+
'.md': 'myst_parser', # Markdown (requires myst_parser extension)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
# The master toctree document (main page)
|
|
78
|
+
master_doc = 'index'
|
|
79
|
+
|
|
80
|
+
# Files and directories to exclude from processing
|
|
81
|
+
exclude_patterns = [
|
|
82
|
+
'_build', # Build output directory
|
|
83
|
+
'Thumbs.db', # Windows thumbnail cache
|
|
84
|
+
'.DS_Store', # macOS metadata
|
|
85
|
+
'**.ipynb_checkpoints', # Jupyter notebook checkpoints
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
# =============================================================================
|
|
89
|
+
# HTML OUTPUT CONFIGURATION
|
|
90
|
+
# =============================================================================
|
|
91
|
+
|
|
92
|
+
# The theme to use for HTML pages
|
|
93
|
+
html_theme = 'sphinx_rtd_theme' # Read the Docs theme (clean, professional)
|
|
94
|
+
|
|
95
|
+
# Directories containing static files (CSS, JS, images)
|
|
96
|
+
html_static_path = ['_static']
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
# Theme-specific options
|
|
100
|
+
html_theme_options = {
|
|
101
|
+
'logo_only': False, # Show project name with logo
|
|
102
|
+
'display_version': True, # Show version in sidebar
|
|
103
|
+
'prev_next_buttons_location': 'bottom', # Navigation button placement
|
|
104
|
+
'style_external_links': True, # Style external links differently
|
|
105
|
+
'vcs_pageview_mode': '', # Version control integration
|
|
106
|
+
'style_nav_header_background': '#2980B9', # Header background color
|
|
107
|
+
|
|
108
|
+
# Table of contents options
|
|
109
|
+
'collapse_navigation': True, # Collapse subsections in nav
|
|
110
|
+
'sticky_navigation': True, # Keep navigation visible on scroll
|
|
111
|
+
'navigation_depth': 4, # Maximum navigation depth
|
|
112
|
+
'includehidden': True, # Include hidden toctrees
|
|
113
|
+
'titles_only': False, # Show subsection titles in nav
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
# Additional HTML options
|
|
117
|
+
html_title = f'{project} Documentation' # Browser window title
|
|
118
|
+
html_short_title = project # Short title for navigation
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
# html_logo = '_static/logo.png'
|
|
122
|
+
# html_favicon = '_static/favicon.ico'
|
|
123
|
+
|
|
124
|
+
# Show "Edit on GitHub" links (requires proper URL)
|
|
125
|
+
# html_context = {
|
|
126
|
+
# 'github_user': 'your-username',
|
|
127
|
+
# 'github_repo': 'your-repo-name',
|
|
128
|
+
# 'github_version': 'main',
|
|
129
|
+
# 'doc_path': 'docs',
|
|
130
|
+
# }
|
|
131
|
+
|
|
132
|
+
# =============================================================================
|
|
133
|
+
# AUTODOC CONFIGURATION
|
|
134
|
+
# =============================================================================
|
|
135
|
+
# Controls how automatic documentation is generated from Python code
|
|
136
|
+
|
|
137
|
+
# Default options for all autodoc directives
|
|
138
|
+
autodoc_default_options = {
|
|
139
|
+
'members': True, # Include all members
|
|
140
|
+
'member-order': 'bysource', # Order members as they appear in source
|
|
141
|
+
'special-members': '__init__', # Include __init__ methods
|
|
142
|
+
'undoc-members': True, # Include members without docstrings
|
|
143
|
+
'exclude-members': '__weakref__', # Exclude certain members
|
|
144
|
+
'show-inheritance': True, # Show class inheritance
|
|
145
|
+
'inherited-members': True, # Include inherited methods
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
# How to display class signatures
|
|
149
|
+
autodoc_class_signature = "mixed" # Show __init__ parameters with class
|
|
150
|
+
|
|
151
|
+
# Order of members in documentation
|
|
152
|
+
autodoc_member_order = 'bysource' # bysource, alphabetical, or groupwise
|
|
153
|
+
|
|
154
|
+
# Mock imports for modules that might not be available during doc building
|
|
155
|
+
# Add any modules that cause import errors during doc building
|
|
156
|
+
autodoc_mock_imports = [
|
|
157
|
+
# 'numpy',
|
|
158
|
+
# 'pandas',
|
|
159
|
+
# 'some_optional_dependency',
|
|
160
|
+
]
|
|
161
|
+
|
|
162
|
+
# =============================================================================
|
|
163
|
+
# AUTOSUMMARY CONFIGURATION
|
|
164
|
+
# =============================================================================
|
|
165
|
+
# Controls automatic generation of summary tables
|
|
166
|
+
|
|
167
|
+
autosummary_generate = True # Generate stub pages for autosummary
|
|
168
|
+
autosummary_imported_members = True # Include imported members
|
|
169
|
+
|
|
170
|
+
# =============================================================================
|
|
171
|
+
# NAPOLEON CONFIGURATION (DOCSTRING STYLES)
|
|
172
|
+
# =============================================================================
|
|
173
|
+
# Configures support for Google and NumPy style docstrings
|
|
174
|
+
|
|
175
|
+
napoleon_google_docstring = True # Parse Google-style docstrings
|
|
176
|
+
napoleon_numpy_docstring = True # Parse NumPy-style docstrings
|
|
177
|
+
napoleon_include_init_with_doc = True # Include __init__ docstring with class
|
|
178
|
+
napoleon_include_private_with_doc = False # Don't document private members
|
|
179
|
+
napoleon_include_special_with_doc = True # Document special methods (__str__, etc.)
|
|
180
|
+
napoleon_use_admonition_for_examples = False # Style for Examples sections
|
|
181
|
+
napoleon_use_admonition_for_notes = False # Style for Notes sections
|
|
182
|
+
napoleon_use_admonition_for_references = False # Style for References sections
|
|
183
|
+
napoleon_use_ivar = False # Use :ivar: for instance variables
|
|
184
|
+
napoleon_use_param = True # Use :param: for parameters
|
|
185
|
+
napoleon_use_rtype = True # Use :rtype: for return types
|
|
186
|
+
napoleon_preprocess_types = False # Preprocess type annotations
|
|
187
|
+
napoleon_type_aliases = None # Custom type aliases
|
|
188
|
+
napoleon_attr_annotations = True # Include attribute annotations
|
|
189
|
+
|
|
190
|
+
# =============================================================================
|
|
191
|
+
# INTERSPHINX CONFIGURATION
|
|
192
|
+
# =============================================================================
|
|
193
|
+
# Links to external documentation
|
|
194
|
+
|
|
195
|
+
intersphinx_mapping = {
|
|
196
|
+
'python': ('https://docs.python.org/3', None),
|
|
197
|
+
'numpy': ('https://numpy.org/doc/stable/', None),
|
|
198
|
+
'pandas': ('https://pandas.pydata.org/pandas-docs/stable/', None),
|
|
199
|
+
'matplotlib': ('https://matplotlib.org/stable/', None),
|
|
200
|
+
'scipy': ('https://docs.scipy.org/doc/scipy/', None),
|
|
201
|
+
'sklearn': ('https://scikit-learn.org/stable/', None),
|
|
202
|
+
'typing': ('https://typing.readthedocs.io/en/latest/', None),
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
# =============================================================================
|
|
206
|
+
# TYPE HINTS CONFIGURATION
|
|
207
|
+
# =============================================================================
|
|
208
|
+
# Controls how type hints are displayed in documentation
|
|
209
|
+
|
|
210
|
+
typehints_fully_qualified = False # Use short names for types
|
|
211
|
+
always_document_param_types = True # Always show parameter types
|
|
212
|
+
typehints_document_rtype = True # Document return types
|
|
213
|
+
typehints_use_rtype = True # Use :rtype: directive for return types
|
|
214
|
+
|
|
215
|
+
# =============================================================================
|
|
216
|
+
# TODO EXTENSION CONFIGURATION
|
|
217
|
+
# =============================================================================
|
|
218
|
+
|
|
219
|
+
todo_include_todos = True # Include TODO items in documentation
|
|
220
|
+
todo_emit_warnings = True # Warn about TODO items during build
|
|
221
|
+
|
|
222
|
+
# =============================================================================
|
|
223
|
+
# COVERAGE EXTENSION CONFIGURATION
|
|
224
|
+
# =============================================================================
|
|
225
|
+
# Checks what's documented vs what's not
|
|
226
|
+
|
|
227
|
+
coverage_ignore_modules = [
|
|
228
|
+
# Add modules to ignore in coverage reports
|
|
229
|
+
]
|
|
230
|
+
coverage_ignore_functions = [
|
|
231
|
+
# Add functions to ignore in coverage reports
|
|
232
|
+
]
|
|
233
|
+
coverage_ignore_classes = [
|
|
234
|
+
# Add classes to ignore in coverage reports
|
|
235
|
+
]
|
|
236
|
+
|
|
237
|
+
# =============================================================================
|
|
238
|
+
# ADDITIONAL CUSTOMIZATION
|
|
239
|
+
# =============================================================================
|
|
240
|
+
|
|
241
|
+
# Control how module names are displayed
|
|
242
|
+
add_module_names = False # Don't prepend module names to functions
|
|
243
|
+
|
|
244
|
+
# Show author information in output
|
|
245
|
+
show_authors = False # Don't show author info by default
|
|
246
|
+
|
|
247
|
+
# Syntax highlighting style
|
|
248
|
+
pygments_style = 'sphinx' # Code highlighting theme
|
|
249
|
+
|
|
250
|
+
# Language for content that doesn't specify a language
|
|
251
|
+
language = 'en'
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
# =============================================================================
|
|
255
|
+
# CUSTOM FUNCTIONS AND SETUP
|
|
256
|
+
# =============================================================================
|
|
257
|
+
|
|
258
|
+
def autodoc_skip_member(app, what, name, obj, skip, options):
|
|
259
|
+
"""
|
|
260
|
+
Custom function to control which members are included in documentation.
|
|
261
|
+
|
|
262
|
+
Args:
|
|
263
|
+
app: The Sphinx application instance
|
|
264
|
+
what: The type of the object (module, class, function, etc.)
|
|
265
|
+
name: The fully qualified name of the object
|
|
266
|
+
obj: The object itself
|
|
267
|
+
skip: Boolean indicating if this member should be skipped
|
|
268
|
+
options: The options given to the directive
|
|
269
|
+
|
|
270
|
+
Returns:
|
|
271
|
+
Boolean indicating whether to skip this member
|
|
272
|
+
"""
|
|
273
|
+
# Add custom logic to skip certain members
|
|
274
|
+
# Example: Skip private methods that start with underscore
|
|
275
|
+
# if name.startswith('_') and not name.startswith('__'):
|
|
276
|
+
# return True
|
|
277
|
+
|
|
278
|
+
return skip
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
def setup(app):
|
|
282
|
+
"""
|
|
283
|
+
Custom Sphinx setup function.
|
|
284
|
+
This function is called when Sphinx initializes and allows you to
|
|
285
|
+
add custom functionality, connect to events, etc.
|
|
286
|
+
|
|
287
|
+
Args:
|
|
288
|
+
app: The Sphinx application instance
|
|
289
|
+
"""
|
|
290
|
+
# Connect custom functions to Sphinx events
|
|
291
|
+
app.connect('autodoc-skip-member', autodoc_skip_member)
|
|
292
|
+
|
|
293
|
+
# Return extension metadata
|
|
294
|
+
return {
|
|
295
|
+
'version': version,
|
|
296
|
+
'parallel_read_safe': True,
|
|
297
|
+
'parallel_write_safe': True,
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
# =============================================================================
|
|
301
|
+
# CHECKLIST FOR SPHINX SETUP
|
|
302
|
+
# =============================================================================
|
|
303
|
+
# When using this configuration:
|
|
304
|
+
#
|
|
305
|
+
# 1. BASIC SETUP:
|
|
306
|
+
# - [ ] Update project, author, and copyright information
|
|
307
|
+
# - [ ] Set correct version/release values
|
|
308
|
+
# - [ ] Verify source code paths are correct
|
|
309
|
+
# - [ ] Create docs/_static/ directory for custom files
|
|
310
|
+
#
|
|
311
|
+
# 2. CONTENT CREATION:
|
|
312
|
+
# - [ ] Create docs/index.rst (main page)
|
|
313
|
+
# - [ ] Create docs/installation.rst (installation guide)
|
|
314
|
+
# - [ ] Create docs/usage.rst (usage examples)
|
|
315
|
+
# - [ ] Create docs/api.rst (API reference)
|
|
316
|
+
#
|
|
317
|
+
# 3. CUSTOMIZATION:
|
|
318
|
+
# - [ ] Choose and configure theme options
|
|
319
|
+
# - [ ] Add logo and favicon to _static/
|
|
320
|
+
# - [ ] Create custom CSS/JS if needed
|
|
321
|
+
# - [ ] Configure intersphinx for your dependencies
|
|
322
|
+
#
|
|
323
|
+
# 4. TESTING:
|
|
324
|
+
# - [ ] Run: poetry run sphinx-build docs/ docs/_build/html/
|
|
325
|
+
# - [ ] Check output in docs/_build/html/index.html
|
|
326
|
+
# - [ ] Fix any warnings or errors
|
|
327
|
+
#
|
|
328
|
+
# 5. GITHUB PAGES:
|
|
329
|
+
# - [ ] Ensure githubpages extension is enabled
|
|
330
|
+
# - [ ] Configure GitHub repository Pages settings
|
|
331
|
+
# - [ ] Test deployment with GitHub Actions workflow
|
|
332
|
+
#
|
|
333
|
+
# COMMON COMMANDS:
|
|
334
|
+
# poetry run sphinx-apidoc -o docs/source/api src/your_project_name/ --force --module-first # Generate API docs
|
|
335
|
+
# poetry run sphinx-build docs/source/ docs/build/html/ # Build documentation
|
docs/source/index.rst
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
knit-graphs
|
|
2
|
+
===========
|
|
3
|
+
|
|
4
|
+
A graph representation of knitted structures where each loop is a node and edges represent yarn and stitch relationships.
|
|
5
|
+
|
|
6
|
+
.. image:: https://img.shields.io/github/workflow/status/mhofmann-Khoury/knit-graphs/CI
|
|
7
|
+
:target: https://github.com/mhofmann-Khoury/knit-graphs/actions
|
|
8
|
+
:alt: Build Status
|
|
9
|
+
|
|
10
|
+
.. image:: https://img.shields.io/pypi/v/knit-graphs
|
|
11
|
+
:target: https://pypi.org/project/knit-graphs/
|
|
12
|
+
:alt: PyPI Version
|
|
13
|
+
|
|
14
|
+
.. image:: https://img.shields.io/pypi/pyversions/knit-graphs
|
|
15
|
+
:target: https://pypi.org/project/knit-graphs/
|
|
16
|
+
:alt: Python Versions
|
|
17
|
+
|
|
18
|
+
Quick Start
|
|
19
|
+
-----------
|
|
20
|
+
|
|
21
|
+
Installation
|
|
22
|
+
~~~~~~~~~~~~
|
|
23
|
+
|
|
24
|
+
Install from PyPI:
|
|
25
|
+
|
|
26
|
+
.. code-block:: bash
|
|
27
|
+
|
|
28
|
+
pip install knit-graphs
|
|
29
|
+
|
|
30
|
+
Or install from source:
|
|
31
|
+
|
|
32
|
+
.. code-block:: bash
|
|
33
|
+
|
|
34
|
+
git clone https://github.com/mhofmann-Khoury/knit-graphs.git
|
|
35
|
+
cd your-repo
|
|
36
|
+
poetry install
|
|
37
|
+
|
|
38
|
+
Documentation Contents
|
|
39
|
+
----------------------
|
|
40
|
+
|
|
41
|
+
.. toctree::
|
|
42
|
+
:maxdepth: 2
|
|
43
|
+
:caption: User Guide
|
|
44
|
+
|
|
45
|
+
installation
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
.. toctree::
|
|
49
|
+
:maxdepth: 4
|
|
50
|
+
:caption: API Reference
|
|
51
|
+
|
|
52
|
+
api/knit_graphs
|
|
53
|
+
|
|
54
|
+
Support and Community
|
|
55
|
+
---------------------
|
|
56
|
+
|
|
57
|
+
* **GitHub Repository**: https://github.com/mhofmann-Khoury/knit-graphs
|
|
58
|
+
* **Issue Tracker**: https://github.com/mhofmann-Khoury/knit-graphs/issues
|
|
59
|
+
* **PyPI Package**: https://pypi.org/project/knit-graphs/
|
|
60
|
+
|
|
61
|
+
License
|
|
62
|
+
-------
|
|
63
|
+
|
|
64
|
+
This project is licensed under the MIT License.
|
|
65
|
+
|
|
66
|
+
Indices and tables
|
|
67
|
+
==================
|
|
68
|
+
|
|
69
|
+
* :ref:`genindex`
|
|
70
|
+
* :ref:`modindex`
|
|
71
|
+
* :ref:`search`
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
Installation
|
|
2
|
+
============
|
|
3
|
+
|
|
4
|
+
Requirements
|
|
5
|
+
------------
|
|
6
|
+
|
|
7
|
+
* Python 3.11 or higher
|
|
8
|
+
* pip or Poetry package manager
|
|
9
|
+
* networkx for Graph data structures.
|
|
10
|
+
* plotly for Knit Graph visualization
|
|
11
|
+
|
|
12
|
+
Install from PyPI
|
|
13
|
+
-----------------
|
|
14
|
+
|
|
15
|
+
The easiest way to install the package is from PyPI:
|
|
16
|
+
|
|
17
|
+
.. code-block:: bash
|
|
18
|
+
|
|
19
|
+
pip install knit-graphs
|
|
20
|
+
|
|
21
|
+
Or using Poetry:
|
|
22
|
+
|
|
23
|
+
.. code-block:: bash
|
|
24
|
+
|
|
25
|
+
poetry add knit-graphs
|
|
26
|
+
|
|
27
|
+
Install from Source
|
|
28
|
+
-------------------
|
|
29
|
+
|
|
30
|
+
To install the latest development version from source:
|
|
31
|
+
|
|
32
|
+
.. code-block:: bash
|
|
33
|
+
|
|
34
|
+
git clone https://github.com/mhofmann-Khoury/knit-graphs.git
|
|
35
|
+
cd your-repo
|
|
36
|
+
pip install -e .
|
|
37
|
+
|
|
38
|
+
Or with Poetry:
|
|
39
|
+
|
|
40
|
+
.. code-block:: bash
|
|
41
|
+
|
|
42
|
+
git clone https://github.com/mhofmann-Khoury/knit-graphs.git
|
|
43
|
+
cd your-repo
|
|
44
|
+
poetry install
|
|
45
|
+
|
|
46
|
+
Development Installation
|
|
47
|
+
------------------------
|
|
48
|
+
|
|
49
|
+
For development and contributing:
|
|
50
|
+
|
|
51
|
+
.. code-block:: bash
|
|
52
|
+
|
|
53
|
+
git clone https://github.com/mhofmann-Khoury/knit-graphs.git
|
|
54
|
+
cd your-repo
|
|
55
|
+
poetry install --with dev,docs
|
|
56
|
+
|
|
57
|
+
This installs the package with all development dependencies including testing and documentation tools.
|
|
58
|
+
|
|
59
|
+
Verify Installation
|
|
60
|
+
-------------------
|
|
61
|
+
|
|
62
|
+
To verify the installation worked correctly:
|
|
63
|
+
|
|
64
|
+
.. code-block:: python
|
|
65
|
+
|
|
66
|
+
import knit-graphs
|
|
67
|
+
print(knit-graphs.__version__)
|