chore: release v0.0.1

This commit is contained in:
motphys-developers
2025-11-20 08:57:48 +00:00
commit 5133830b5a
105 changed files with 8789 additions and 0 deletions

183
docs/source/conf.py Normal file
View File

@@ -0,0 +1,183 @@
# Copyright (C) 2020-2025 Motphys Technology Co., Ltd. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
import os
import shutil
from pathlib import Path
__version__ = "0.1.0"
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = "Motrixlab"
copyright = "2025, Motphys"
author = "Motphys"
release = __version__
version = __version__
language = "zh_CN"
def setup(app):
app.connect("builder-inited", copy_file_by_language)
def copy_file_by_language(app):
"""根据语言配置复制语言目录"""
lang = app.config.language
srcdir = Path(app.srcdir)
lang_dir = srcdir / lang
if lang_dir.exists() and lang_dir.is_dir():
shutil.copytree(lang_dir, srcdir, dirs_exist_ok=True, copy_function=shutil.copy2)
print(f"Copied language directory: {lang_dir} -> {srcdir}")
else:
print(f"[WARNING] Language directory not found: {lang_dir}")
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = [
# Include documentation from docstrings
"sphinx.ext.autodoc",
# Support for NumPy and Google style docstrings
"sphinx.ext.napoleon",
# Generate autodoc summaries
"sphinx.ext.autosummary",
# Extending your autodoc API docs with a summary
"autodocsumm",
"sphinx.ext.mathjax",
"sphinx.ext.viewcode",
"sphinx.ext.intersphinx",
"sphinx_copybutton",
"myst_parser",
"sphinx_subfigure",
"sphinxcontrib.video",
"sphinx_togglebutton",
"sphinx_design",
]
# https://sphinx-design.readthedocs.io/en/pydata-theme/get_started.html#usage
myst_enable_extensions = ["colon_fence", "deflist"]
### Autodoc configurations ###
# put type hints inside the signature instead of the description (easier to maintain)
autodoc_typehints = "both"
# Define the order in which automodule and autoclass members are listed
autodoc_member_order = "groupwise"
# default autodoc settings
autodoc_default_options = {
"autosummary": True,
}
autodoc_typehints_description_target = "all"
autodoc_default_flags = ["members", "show-inheritance", "undoc-members"]
# generate autosummary even if no references
autosummary_generate = True
autosummary_generate_overwrite = False
# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ["index_*.md", "api_reference/low**", "zh_CN/**", "en/**"]
# https://myst-parser.readthedocs.io/en/latest/syntax/optional.html
myst_enable_extensions = ["colon_fence", "dollarmath"]
# https://github.com/executablebooks/MyST-Parser/issues/519#issuecomment-1037239655
myst_heading_anchors = 4
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
html_title = "Motrixlab Documentation"
html_theme = "pydata_sphinx_theme"
html_static_path = ["_static"]
html_logo = "_static/Motphys_logo_Black.svg"
html_favicon = "_static/Motphys_Logo_only_Black_100x100px.svg"
html_show_copyright = True
html_show_sphinx = False
html_last_updated_fmt = "" # to reveal the build date in the pages meta
html_theme_options = {
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/navigation.html
"show_nav_level": 2,
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/source-buttons.html#add-an-edit-button
"use_edit_page_button": False,
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/indices.html#add-indices-links
"primary_sidebar_end": ["indices.html"],
"logo": {
"image_light": "_static/Motphys_logo_Black.svg",
"image_dark": "_static/Motphys_logo_White.svg",
},
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html#configure-the-navbar-center-alignment
"navbar_start": ["navbar-logo"],
"navbar_center": ["navbar-nav"], # "version-switcher"
"navbar_persistent": ["search-field.html"],
"navbar_end": ["navbar-icon-links", "theme-switcher"],
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html#configure-the-navbar-center-alignment
"navbar_align": "content",
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/page-toc.html#per-page-secondary-sidebar-content
"secondary_sidebar_items": ["page-toc", "sidebar-ethical-ads"],
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html#footer-content
"show_prev_next": True,
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/announcements.html#version-warning-banners
"show_version_warning_banner": False,
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html#footer-content
"footer_start": ["copyright", "sphinx-version"],
"footer_end": ["theme-version"],
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/header-links.html#navigation-bar-external-links
"external_links": [
{"name": "Issues", "url": "https://github.com/Motphys/MotrixLab/issues"},
{"name": "Discussions", "url": "https://github.com/Motphys/MotrixLab/discussions"},
],
"header_links_before_dropdown": 2,
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/header-links.html#icon-links
"icon_links": [
{
# Label for this link
"name": "GitHub",
# URL where the link will redirect
"url": "https://github.com/Motphys/MotrixLab", # required
# Icon class (if "type": "fontawesome"), or path to local image (if "type": "local")
"icon": "fa-brands fa-github",
"type": "fontawesome",
},
{
"name": "About Motphys",
"url": "https://www.motphys.com",
"icon": "fa-solid fa-building",
"type": "fontawesome",
},
],
}
project_version = os.environ.get("READTHEDOCS_VERSION")
if project_version is None:
project_version = __version__
html_context = {}
html_css_files = [
"css/custom.css",
]
html_js_files = [
"js/custom.js",
]