New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

openstackdocstheme

Package Overview
Dependencies
Maintainers
1
Versions
92
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

openstackdocstheme - pypi Package Compare versions

Comparing version
3.5.0
to
3.6.0
openstackdocstheme/py.typed
+4
---
features:
- Add an optional project-scoped search bar to the sidebar. Updated OpenStack/StarlingX
wide search placeholder to "Global Search" for clarity.
---
upgrade:
- |
Support for Python 3.8 and 3.9 has been removed. Now the minimum Python
version supported is 3.10.
+5
-11
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v6.0.0
hooks:
- id: trailing-whitespace
# Replaces or checks mixed line ending
- id: mixed-line-ending
args: ['--fix', 'lf']
exclude: '.*\.(svg)$'
# Forbid files which have a UTF-8 byte-order marker
- id: check-byte-order-marker
# Checks that non-binary executables have a proper shebang
- id: fix-byte-order-marker
- id: check-executables-have-shebangs
# Check for files that contain merge conflict strings.
- id: check-merge-conflict
# Check for debugger imports and py37+ breakpoint()
# calls in python source
- id: debug-statements

@@ -22,9 +16,9 @@ - id: check-yaml

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.2
rev: v0.14.13
hooks:
- id: ruff
- id: ruff-check
args: ['--fix']
- id: ruff-format
- repo: https://opendev.org/openstack/hacking
rev: 7.0.0
rev: 8.0.0
hooks:

@@ -31,0 +25,0 @@ - id: hacking

@@ -1,2 +0,1 @@

# -*- coding: utf-8 -*-
# Copyright (C) 2020 Red Hat, Inc.

@@ -3,0 +2,0 @@ #

@@ -38,2 +38,3 @@ Akihiro Motoki <amotoki@gmail.com>

Ildiko Vancsa <ildiko.vancsa@gmail.com>
Ivan Anfimov <lazekteam@gmail.com>
Jacky Hu <hudayou@hotmail.com>

@@ -40,0 +41,0 @@ James E. Blair <jeblair@redhat.com>

@@ -38,2 +38,2 @@ # This is a cross-platform list tracking distribution packages needed by tests;

graphviz [doc test]
libpcre3-dev [platform:dpkg test]
libpcre2-dev [platform:dpkg test]

@@ -1,2 +0,1 @@

# -*- coding: utf-8 -*-
# Copyright (C) 2020 Red Hat, Inc.

@@ -3,0 +2,0 @@ #

@@ -173,2 +173,11 @@ =========================

The search bar in the sidebar is disabled by default. To enable it, set
the ``sidebar_search`` option to ``True`` for project-scoped search::
html_theme_options = {
# ...
"sidebar_search": True,
# ...
}
If you are using this theme for documentation you want to release based on git

@@ -175,0 +184,0 @@ tags on your repository, set the release dropdown menu option in the

@@ -1,1 +0,1 @@

{"git_version": "1d5cb6f", "is_release": true}
{"git_version": "57ac1e6", "is_release": true}

@@ -1,8 +0,9 @@

Metadata-Version: 2.1
Metadata-Version: 2.4
Name: openstackdocstheme
Version: 3.5.0
Version: 3.6.0
Summary: OpenStack Docs Theme
Home-page: https://docs.openstack.org/openstackdocstheme/latest/
Author: OpenStack
Author-email: openstack-discuss@lists.openstack.org
Author-email: OpenStack <openstack-discuss@lists.openstack.org>
License: Apache-2.0
Project-URL: Homepage, https://docs.openstack.org/openstackdocstheme
Project-URL: Repository, https://opendev.org/openstack/openstackdocstheme
Classifier: Environment :: OpenStack

@@ -15,27 +16,23 @@ Classifier: Intended Audience :: Information Technology

Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Documentation
Requires-Python: >=3.8
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: pbr!=2.1.0,>=2.0.0
Requires-Dist: dulwich>=0.15.0
Requires-Dist: sphinx>=6.0.0
Requires-Dist: sphinx>=8.0.0
Dynamic: license-file
Dynamic: requires-dist
========================
Team and repository tags
========================
==========================================
Open Infrastructure Projects Sphinx Themes
==========================================
.. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg
:target: https://governance.openstack.org/tc/reference/tags/index.html
.. Change things from this point on
Open Infrastructure Projects Sphinx Themes
==========================================
Theme and extension support for Sphinx documentation that is published by

@@ -55,3 +52,3 @@ Open Infrastructure Foundation projects.

StarlingX docs.starlingx.io Sphinx Theme
-----------------------------------------
----------------------------------------

@@ -73,2 +70,1 @@ Theme support for Sphinx documentation that is published to

* Bugs: https://launchpad.net/openstack-doc-tools
pbr!=2.1.0,>=2.0.0
dulwich>=0.15.0
sphinx>=6.0.0
sphinx>=8.0.0

@@ -46,2 +46,3 @@ .pre-commit-config.yaml

openstackdocstheme/paths.py
openstackdocstheme/py.typed
openstackdocstheme/version.py

@@ -150,2 +151,3 @@ openstackdocstheme.egg-info/PKG-INFO

releasenotes/notes/add-reno-8da9bd3ccb7bbeab.yaml
releasenotes/notes/add-sidebar-search-0e62a9438dca8309.yaml
releasenotes/notes/add-starlingxdocs-10a33318f8630486.yaml

@@ -176,2 +178,3 @@ releasenotes/notes/add-translations-9238b0f56b677a6b.yaml

releasenotes/notes/pdf_link-c6b0ed36dd12b0ef.yaml
releasenotes/notes/remove-py38-py39-3d46233c4a0a859a.yaml
releasenotes/notes/renamed-opts-bbf5d1390ed6ba71.yaml

@@ -178,0 +181,0 @@ releasenotes/notes/side-bar-config-d7e66388e252cadf.yaml

@@ -15,2 +15,6 @@ # Copyright 2018 Red Hat, Inc.

from typing import Any
from sphinx import application
from . import ext

@@ -25,3 +29,3 @@ from . import page_context

def setup(app):
def setup(app: application.Sphinx) -> dict[str, Any]:
ext.setup(app)

@@ -28,0 +32,0 @@ page_context.setup(app)

@@ -19,5 +19,10 @@ # Copyright 2015 Rackspace US, Inc.

import textwrap
from typing import Any
from docutils import nodes
import dulwich.errors
import dulwich.repo
from pbr import packaging
from sphinx import application
from sphinx.config import Config
from sphinx.ext import extlinks

@@ -29,6 +34,6 @@ from sphinx.util import logging

_series = None
_project = None
_series: str | None = None
_project: str | None = None
_giturl = 'https://opendev.org/{}/src/{}'
_html_context_data = None
_html_context_data: dict[str, Any] | None = None

@@ -38,11 +43,11 @@ logger = logging.getLogger(__name__)

def _has_stable_branches():
def _has_stable_branches() -> bool:
try:
repo = dulwich.repo.Repo.discover()
except dulwich.repo.NotGitRepository:
repo = dulwich.repo.Repo.discover() # type: ignore[no-untyped-call]
except dulwich.errors.NotGitRepository:
return False
refs = repo.get_refs()
for ref in refs.keys():
ref = ref.decode('utf-8')
for ref_bytes in refs.keys():
ref = ref_bytes.decode('utf-8')
if ref.startswith('refs/remotes/origin/stable'):

@@ -54,3 +59,3 @@ return True

def _ref_sort_key(ref):
def _ref_sort_key(ref: str) -> str:
# note(frickler): make sure to sort series like 2023.1 after zed

@@ -62,10 +67,10 @@ if ref.startswith("2"):

def _get_other_versions(app):
def _get_other_versions(app: application.Sphinx) -> list[str]:
if not app.config.html_theme_options.get('show_other_versions', False):
return []
all_series = []
all_series: list[str] = []
try:
repo = dulwich.repo.Repo.discover()
except dulwich.repo.NotGitRepository:
repo = dulwich.repo.Repo.discover() # type: ignore[no-untyped-call]
except dulwich.errors.NotGitRepository:
return []

@@ -109,3 +114,3 @@

def _get_doc_path(app):
def _get_doc_path(app: application.Sphinx) -> str | None:
# Handle 'doc/{docType}/source' paths

@@ -124,6 +129,12 @@ doc_parts = os.path.abspath(app.srcdir).split(os.sep)[-3:]

)
return
return None
def _html_page_context(app, pagename, templatename, context, doctree):
def _html_page_context(
app: application.Sphinx,
pagename: str,
templatename: str,
context: dict[str, Any],
doctree: nodes.document | None,
) -> None:
global _html_context_data

@@ -291,3 +302,3 @@ if _html_context_data is None:

def _get_series_name():
def _get_series_name() -> str:
"Return string name of release series, or 'latest'"

@@ -327,9 +338,7 @@ global _series

def _setup_link_roles(app):
def _setup_link_roles(app: application.Sphinx) -> None:
series = _get_series_name()
for project_name in app.config.openstackdocs_projects:
url = 'https://docs.openstack.org/{}/{}/%s'.format(
project_name, series
)
role_name = '{}-doc'.format(project_name)
url = f'https://docs.openstack.org/{project_name}/{series}/%s'
role_name = f'{project_name}-doc'
logger.debug(

@@ -346,3 +355,3 @@ '[openstackdocstheme] adding role %s to link to %s',

def _find_setup_cfg(srcdir):
def _find_setup_cfg(srcdir: str | os.PathLike[str]) -> str | None:
"""Find the 'setup.cfg' file, if it exists.

@@ -366,3 +375,3 @@

def _get_project_name(srcdir):
def _get_project_name(srcdir: str | os.PathLike[str]) -> str | None:
"""Return string name of project name, or None.

@@ -405,3 +414,3 @@

def _config_inited(app, config):
def _config_inited(app: application.Sphinx, config: Config) -> None:
if config.openstack_projects is not None:

@@ -454,4 +463,5 @@ logger.info(

logger.debug(
f'[openstackdocstheme] auto-versioning disabled (doc name '
f'contains {doc_parts[0]}'
'[openstackdocstheme] auto-versioning disabled (doc name '
'contains %s)',
doc_parts[0],
)

@@ -482,3 +492,3 @@ auto_version = False

def _builder_inited(app):
def _builder_inited(app: application.Sphinx) -> None:
theme_dir = paths.get_html_theme_path()

@@ -524,3 +534,3 @@ logger.info('[openstackdocstheme] using theme from %s', theme_dir)

def setup(app):
def setup(app: application.Sphinx) -> dict[str, Any]:
logger.info(

@@ -527,0 +537,0 @@ '[openstackdocstheme] version: %s',

@@ -18,4 +18,6 @@ # Licensed under the Apache License, Version 2.0 (the "License"); you may

import time
from typing import Any
import sphinx
from docutils import nodes
from sphinx import application
from sphinx.util import logging

@@ -28,6 +30,8 @@

_timeint = int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
_default_last_updated = datetime.datetime.utcfromtimestamp(_timeint)
_default_last_updated = datetime.datetime.fromtimestamp(
_timeint, tz=datetime.timezone.utc
).replace(tzinfo=None)
def _get_last_updated_file(src_file):
def _get_last_updated_file(src_file: str) -> datetime.datetime | None:
if not os.path.exists(src_file):

@@ -77,18 +81,13 @@ return None

def _get_last_updated(app, pagename):
def _get_last_updated(
app: application.Sphinx, pagename: str
) -> datetime.datetime:
last_updated = None
full_src_file = app.builder.env.doc2path(pagename)
candidates = []
candidates: list[str] = []
# Strip the prefix from the filename so the git command recognizes
# the file as part of the current repository.
# NOTE(sean-k-mooney): on python 3.9 we clamp sphinx to <8
# app.builder.env.srcdir is a string on py39
if sphinx.version_info >= (8, 0):
src_file = str(full_src_file.relative_to(app.builder.env.srcdir))
else: # Sphinx < 8.0
src_file = full_src_file[len(str(app.builder.env.srcdir)) :].lstrip(
'/'
)
src_file = str(full_src_file.relative_to(app.builder.env.srcdir))
candidates.append(src_file)

@@ -122,3 +121,9 @@

def html_page_context(app, pagename, templatename, context, doctree):
def html_page_context(
app: application.Sphinx,
pagename: str,
templatename: str,
context: dict[str, Any],
doctree: nodes.document | None,
) -> None:
# Use the last modified date from git instead of applying a single

@@ -129,3 +134,3 @@ # value to the entire site.

def setup(app):
def setup(app: application.Sphinx) -> dict[str, Any]:
LOG.info('[openstackdocstheme] connecting html-page-context event handler')

@@ -132,0 +137,0 @@ app.connect('html-page-context', html_page_context)

@@ -18,7 +18,7 @@ # Copyright 2018 Red Hat, Inc.

def get_pkg_path():
def get_pkg_path() -> str:
return os.path.abspath(os.path.dirname(__file__))
def get_html_theme_path():
def get_html_theme_path() -> str:
"""Return the directory containing HTML theme for local builds."""

@@ -28,3 +28,3 @@ return os.path.join(get_pkg_path(), 'theme')

def get_pdf_theme_path(theme='openstackdocs'):
def get_pdf_theme_path(theme: str = 'openstackdocs') -> str:
"""Return the directory containing PDF theme for local builds."""

@@ -35,3 +35,3 @@ args = ['theme', theme + '_pdf', 'pdftheme']

def get_theme_logo_path(theme='openstackdocs'):
def get_theme_logo_path(theme: str = 'openstackdocs') -> str:
"""Return the directory containing theme logo for local builds."""

@@ -43,4 +43,4 @@ args = ['theme', theme + '_pdf', 'logo-full.png']

# This function is for compatibility with previous releases.
def get_openstack_logo_path():
def get_openstack_logo_path() -> str:
"""Return the directory containing OpenStack logo for local builds."""
return get_theme_logo_path('openstackdocs')

@@ -15,8 +15,1 @@ <!-- Bootstrap CSS -->

<link href="{{pathto('_static/pygments.css', 1)}}" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->

@@ -20,3 +20,3 @@ {% if page_source_suffix %}{# an input file was read #}

</button>
<div class="search-icon show"><i class="fa fa-search"></i> Search</div>
<div class="search-icon show"><i class="fa fa-search"></i> Global Search</div>
<div class="collapse navbar-collapse" id="navbar-main-1">

@@ -68,3 +68,3 @@ {% include 'os_search.html' %}

<li><a class="dropdown-item" href="{{osf_base_url}}/community/speakers/">Speakers Bureau</a></li>
<li><a class="dropdown-item" href="http://wiki.openstack.org">OpenStack Wiki</a></li>
<li><a class="dropdown-item" href="https://wiki.openstack.org">OpenStack Wiki</a></li>
<li><a class="dropdown-item" href="{{osf_base_url}}/coa/">Get Certified (COA)</a></li>

@@ -74,3 +74,3 @@ <li><a class="dropdown-item" href="{{osf_base_url}}/community/jobs/">Jobs</a></li>

<li><a class="dropdown-item" href="{{osf_base_url}}/news/">Community News</a></li>
<li><a class="dropdown-item" href="http://superuser.openstack.org">Superuser Magazine</a></li>
<li><a class="dropdown-item" href="https://superuser.openstack.org">Superuser Magazine</a></li>
<li><hr class="dropdown-divider"></li>

@@ -97,3 +97,3 @@ <li><a class="dropdown-item" href="{{osf_base_url}}/community/supporting-organizations/">OpenInfra Foundation Supporting Organizations</a></li>

<li class="nav-item"><!-- Docs -->
<a class="nav-link" href="http://docs.openstack.org/">Docs</a>
<a class="nav-link" href="https://docs.openstack.org/">Docs</a>
</li>

@@ -100,0 +100,0 @@ <li class="nav-item dropdown join-nav-section"> <!-- Join -->

@@ -7,13 +7,10 @@ {% extends "basic/layout.html" %}

{% if theme_analytics_tracking_code %}
<!-- Google Analytics -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ theme_analytics_tracking_code }}">
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '{{ theme_analytics_tracking_code }}', 'auto');
ga('send', 'pageview');
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);} gtag('js', new Date());
gtag('config', '{{ theme_analytics_tracking_code }}');
</script>
<!-- End Google Analytics -->
{% endif %}

@@ -20,0 +17,0 @@ {% endblock %}

@@ -15,2 +15,8 @@ <div class="col-lg-3 col-md-4 col-sm-4 col-lg-pull-9 col-md-pull-8 col-sm-pull-8 order-1 docs-sidebar">

<a href="{{ pathto(master_doc) }}" class="docs-sidebar-section-title"><h4>{{project}} {{version}}</h4></a>
{%- if theme_sidebar_search|tobool %}
<form action="{{ pathto('search') }}" method="get" class="input-group input-group-sm ps-3 pe-2 pb-3">
<input class="form-control" type="text" name="q" value="" placeholder="{% trans %}Search in {{project}}{% endtrans %}" aria-label="{% trans %}Search{% endtrans %}">
<button class="btn btn-outline-secondary" type="submit"><i class="fa fa-search"></i></button>
</form>
{%- endif %}
{%- if theme_sidebar_mode == 'toc' %}

@@ -17,0 +23,0 @@ {{ toc }}

@@ -40,18 +40,1 @@

});
// Remove Search text in smaller browser windows
jQuery(document).ready(function(){
if (jQuery(window).width() < 1050) {
$('#search-label').text('');
} else {
$('#search-label').text('Search');
}
});
jQuery(window).resize(function () {
if (jQuery(window).width() < 1050) {
$('#search-label').text('');
} else {
$('#search-label').text('Search');
}
});

@@ -7,3 +7,3 @@ [theme]

[options]
analytics_tracking_code = UA-17511903-1
analytics_tracking_code = G-DD299CMF7V
sidebar_mode = toctree

@@ -17,1 +17,2 @@ display_badge = True

earliest_published_series = mitaka
sidebar_search = False

@@ -18,3 +18,3 @@ {% if page_source_suffix %}{# an input file was read #}

</button>
<div class="search-icon show"><i class="fa fa-search"></i> Search</div>
<div class="search-icon show"><i class="fa fa-search"></i> Global Search</div>
<div class="collapse navbar-collapse" id="navbar-main-1">

@@ -21,0 +21,0 @@ {% include 'stx_search.html' %}

@@ -7,3 +7,3 @@ [theme]

[options]
#analytics_tracking_code = UA-17511903-1
#analytics_tracking_code = GA_CODE_HERE
sidebar_mode = toctree

@@ -10,0 +10,0 @@ display_badge = True

@@ -15,4 +15,6 @@ # Copyright 2015 OpenStack Foundation

import pbr.version
from pbr import version as pbr_version
version_info = pbr.version.VersionInfo('openstackdocstheme')
version_info: pbr_version.VersionInfo = pbr_version.VersionInfo(
'openstackdocstheme'
)
+17
-21

@@ -1,8 +0,9 @@

Metadata-Version: 2.1
Metadata-Version: 2.4
Name: openstackdocstheme
Version: 3.5.0
Version: 3.6.0
Summary: OpenStack Docs Theme
Home-page: https://docs.openstack.org/openstackdocstheme/latest/
Author: OpenStack
Author-email: openstack-discuss@lists.openstack.org
Author-email: OpenStack <openstack-discuss@lists.openstack.org>
License: Apache-2.0
Project-URL: Homepage, https://docs.openstack.org/openstackdocstheme
Project-URL: Repository, https://opendev.org/openstack/openstackdocstheme
Classifier: Environment :: OpenStack

@@ -15,27 +16,23 @@ Classifier: Intended Audience :: Information Technology

Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Documentation
Requires-Python: >=3.8
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: pbr!=2.1.0,>=2.0.0
Requires-Dist: dulwich>=0.15.0
Requires-Dist: sphinx>=6.0.0
Requires-Dist: sphinx>=8.0.0
Dynamic: license-file
Dynamic: requires-dist
========================
Team and repository tags
========================
==========================================
Open Infrastructure Projects Sphinx Themes
==========================================
.. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg
:target: https://governance.openstack.org/tc/reference/tags/index.html
.. Change things from this point on
Open Infrastructure Projects Sphinx Themes
==========================================
Theme and extension support for Sphinx documentation that is published by

@@ -55,3 +52,3 @@ Open Infrastructure Foundation projects.

StarlingX docs.starlingx.io Sphinx Theme
-----------------------------------------
----------------------------------------

@@ -73,2 +70,1 @@ Theme support for Sphinx documentation that is published to

* Bugs: https://launchpad.net/openstack-doc-tools

@@ -0,1 +1,53 @@

[build-system]
requires = ["pbr>=6.1.1"]
build-backend = "pbr.build"
[project]
name = "openstackdocstheme"
description = "OpenStack Docs Theme"
authors = [
{name = "OpenStack", email = "openstack-discuss@lists.openstack.org"},
]
readme = {file = "README.rst", content-type = "text/x-rst"}
license = {text = "Apache-2.0"}
dynamic = ["version", "dependencies"]
requires-python = ">=3.10"
classifiers = [
"Environment :: OpenStack",
"Intended Audience :: Information Technology",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: Apache Software License",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Documentation",
"Typing :: Typed",
]
[project.urls]
Homepage = "https://docs.openstack.org/openstackdocstheme"
Repository = "https://opendev.org/openstack/openstackdocstheme"
[tool.setuptools]
packages = [
"openstackdocstheme"
]
script-files = [
"bin/docstheme-build-translated.sh",
"bin/docstheme-lang-display-name.py",
"bin/docstheme-build-pdf",
]
[tool.mypy]
python_version = "3.10"
show_column_numbers = true
show_error_context = true
strict = true
disable_error_code = ["import-untyped"]
exclude = "(?x)(doc | releasenotes)"
[tool.ruff]

@@ -7,1 +59,5 @@ line-length = 79

docstring-code-format = true
[tool.ruff.lint]
select = ["E4", "E5", "E7", "E9", "F", "G", "LOG", "UP"]
external = ["H"]

@@ -1,13 +0,7 @@

========================
Team and repository tags
========================
==========================================
Open Infrastructure Projects Sphinx Themes
==========================================
.. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg
:target: https://governance.openstack.org/tc/reference/tags/index.html
.. Change things from this point on
Open Infrastructure Projects Sphinx Themes
==========================================
Theme and extension support for Sphinx documentation that is published by

@@ -27,3 +21,3 @@ Open Infrastructure Foundation projects.

StarlingX docs.starlingx.io Sphinx Theme
-----------------------------------------
----------------------------------------

@@ -30,0 +24,0 @@ Theme support for Sphinx documentation that is published to

@@ -1,2 +0,1 @@

# -*- coding: utf-8 -*-
# Licensed under the Apache License, Version 2.0 (the "License");

@@ -3,0 +2,0 @@ # you may not use this file except in compliance with the License.

pbr!=2.1.0,>=2.0.0 # Apache-2.0
dulwich>=0.15.0 # Apache-2.0
sphinx>=6.0.0 # BSD
sphinx>=8.0.0 # BSD
[metadata]
name = openstackdocstheme
summary = OpenStack Docs Theme
description_file =
README.rst
author = OpenStack
author_email = openstack-discuss@lists.openstack.org
home_page = https://docs.openstack.org/openstackdocstheme/latest/
python_requires = >=3.8
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
Intended Audience :: System Administrators
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: 3 :: Only
Topic :: Documentation
[files]
packages =
openstackdocstheme
scripts =
bin/docstheme-build-translated.sh
bin/docstheme-lang-display-name.py
bin/docstheme-build-pdf
[egg_info]

@@ -35,0 +5,0 @@ tag_build =

+13
-2

@@ -19,8 +19,19 @@ [tox]

Run style checks.
skip_install = true
deps =
pre-commit
{[testenv:mypy]deps}
commands =
pre-commit run -a
{[testenv:mypy]commands}
[testenv:mypy]
description =
Run type checks.
deps =
{[testenv]deps}
mypy
types-docutils
commands =
mypy --cache-dir="{envdir}/mypy_cache" -p openstackdocstheme {posargs}
[testenv:venv]

@@ -86,3 +97,3 @@ commands = {posargs}

[flake8]
exclude=.venv,.git,.tox,dist,doc,api-ref,*lib/python*,*egg,tools
exclude = .venv,.git,.tox,dist,doc,api-ref,*lib/python*,*egg,tools
show-source = True

@@ -89,0 +100,0 @@ # We only enable the hacking (H) checks

Sorry, the diff of this file is not supported yet