mirror of
https://fuchsia.googlesource.com/third_party/pigweed.googlesource.com/pigweed/pigweed
synced 2024-07-12 01:23:34 +00:00
pw_docgen: Single-source the module metadata
This change reduces boilerplate in module docs, ensures that metadata is consistent across all of a module's docs pages, and paves the way for improvements to //docs/modules.rst. Bug: 292582625 Change-Id: Ib38ac37d553e9d4baa2796e1b0c53e9f619703fe Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193333 Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> Commit-Queue: Kayce Basques <kayce@google.com> Reviewed-by: Chad Norvell <chadnorvell@google.com>
This commit is contained in:
parent
25731b152a
commit
a40cea068a
|
@ -226,6 +226,37 @@ The following sections provide instructions on how to write each content type.
|
|||
:ref:`docs-contrib-moduledocs-multipage` they might be an entire page of
|
||||
content or a section within a page.
|
||||
|
||||
.. _docs-contrib-moduledocs-metadata:
|
||||
|
||||
Module metadata
|
||||
===============
|
||||
1. Add a ``pigweed-module`` directive right after the title in your
|
||||
``docs.rst``:
|
||||
|
||||
.. code-block::
|
||||
|
||||
==========
|
||||
pw_example
|
||||
==========
|
||||
.. pigweed-module::
|
||||
:name: pw_example
|
||||
|
||||
2. Add metadata for your module in ``//docs/module_metadata.json``.
|
||||
See ``//docs/module_metadata_schema.json`` for the schema
|
||||
definition.
|
||||
|
||||
3. Add a ``pigweed-module-subpage`` directive right after the title
|
||||
in each of your other docs pages (if your module has multiple docs
|
||||
pages):
|
||||
|
||||
.. code-block::
|
||||
|
||||
=============
|
||||
API reference
|
||||
=============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_example
|
||||
|
||||
.. _docs-contrib-moduledocs-sales:
|
||||
|
||||
Sales pitch
|
||||
|
|
213
docs/module_metadata.json
Normal file
213
docs/module_metadata.json
Normal file
|
@ -0,0 +1,213 @@
|
|||
{
|
||||
"pw_alignment": {
|
||||
"tagline": "Natural object alignment, guaranteed",
|
||||
"status": "stable",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_allocator": {
|
||||
"tagline": "Flexible, safe, and measurable memory allocation",
|
||||
"status": "unstable",
|
||||
"languages": [
|
||||
"C++17"
|
||||
],
|
||||
"size": "400 to 1800 bytes"
|
||||
},
|
||||
"pw_async2": {
|
||||
"tagline": "Cooperative async tasks for embedded",
|
||||
"status": "experimental",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_bluetooth_sapphire": {
|
||||
"tagline": "Battle-tested Bluetooth with rock-solid reliability",
|
||||
"status": "unstable",
|
||||
"size": "1.5 to 2 mB",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_boot": {
|
||||
"tagline": "Simplified booting for C++ targets",
|
||||
"status": "stable",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_build_android": {
|
||||
"tagline": "Utilities for using Pigweed in Android platform",
|
||||
"status": "unstable",
|
||||
"languages": [
|
||||
"C++20"
|
||||
]
|
||||
},
|
||||
"pw_console": {
|
||||
"tagline": "Multi-purpose pluggable interactive console for dev & manufacturing",
|
||||
"status": "stable",
|
||||
"size": "N/A (host) but works best with pw_rpc on-device",
|
||||
"languages": [
|
||||
"Python"
|
||||
]
|
||||
},
|
||||
"pw_digital_io_linux": {
|
||||
"tagline": "Digital I/O interface for Linux userspace",
|
||||
"status": "unstable",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_emu": {
|
||||
"tagline": "Flexible emulators frontend",
|
||||
"status": "experimental",
|
||||
"languages": [
|
||||
"Python",
|
||||
"CLI"
|
||||
]
|
||||
},
|
||||
"pw_env_setup_zephyr": {
|
||||
"tagline": "Zephyr utilities",
|
||||
"status": "experimental"
|
||||
},
|
||||
"pw_format": {
|
||||
"tagline": "String formatting",
|
||||
"status": "experimental",
|
||||
"languages": [
|
||||
"Rust"
|
||||
]
|
||||
},
|
||||
"pw_function": {
|
||||
"tagline": "Embedded-friendly std::function",
|
||||
"status": "stable",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_fuzzer": {
|
||||
"tagline": "Better C++ code through easier fuzzing",
|
||||
"status": "unstable",
|
||||
"languages": [
|
||||
"C++17",
|
||||
"C++20"
|
||||
]
|
||||
},
|
||||
"pw_grpc": {
|
||||
"tagline": "pw_rpc over gRPC",
|
||||
"status": "unstable",
|
||||
"languages": [
|
||||
"C++17",
|
||||
"C++20"
|
||||
]
|
||||
},
|
||||
"pw_hdlc": {
|
||||
"tagline": "Simple, robust, and efficient serial communication",
|
||||
"status": "stable",
|
||||
"size": "1400 to 2600 bytes",
|
||||
"languages": [
|
||||
"Python",
|
||||
"C++17",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"pw_json": {
|
||||
"tagline": "Simple, efficient C++ JSON serialization",
|
||||
"status": "stable",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_kvs": {
|
||||
"tagline": "Lightweight, persistent key-value store",
|
||||
"status": "stable",
|
||||
"size": "~12 kB",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_multibuf": {
|
||||
"tagline": "A buffer API optimized for zero-copy messaging",
|
||||
"status": "unstable",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_perf_test": {
|
||||
"tagline": "Micro-benchmarks that are easy to write and run",
|
||||
"status": "unstable",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_result": {
|
||||
"tagline": "Error propagation primitives: value-or-error",
|
||||
"status": "stable",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_software_update": {
|
||||
"tagline": "Secure software delivery",
|
||||
"status": "experimental",
|
||||
"languages": [
|
||||
"Python",
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_span": {
|
||||
"tagline": "std::span for C++17",
|
||||
"status": "stable",
|
||||
"languages": [
|
||||
"C++17",
|
||||
"C++20"
|
||||
]
|
||||
},
|
||||
"pw_status": {
|
||||
"tagline": "Exception-free error propagation for embedded",
|
||||
"status": "stable",
|
||||
"languages": [
|
||||
"C++17",
|
||||
"C",
|
||||
"Python",
|
||||
"Java",
|
||||
"TypeScript",
|
||||
"Rust"
|
||||
]
|
||||
},
|
||||
"pw_string": {
|
||||
"tagline": "Efficient, easy, and safe string manipulation",
|
||||
"status": "stable",
|
||||
"size": "500 to 1500 bytes",
|
||||
"languages": [
|
||||
"C++17"
|
||||
]
|
||||
},
|
||||
"pw_tokenizer": {
|
||||
"tagline": "Compress strings to shrink logs by +75%",
|
||||
"status": "stable",
|
||||
"size": "50% reduction in log size",
|
||||
"languages": [
|
||||
"C++",
|
||||
"C11",
|
||||
"Python",
|
||||
"Rust",
|
||||
"TypeScript",
|
||||
"Java"
|
||||
]
|
||||
},
|
||||
"pw_toolchain_bazel": {
|
||||
"tagline": "A modular toolkit for declaring C/C++ toolchains in Bazel",
|
||||
"status": "unstable",
|
||||
"languages": [
|
||||
"Starlark"
|
||||
]
|
||||
},
|
||||
"pw_unit_test": {
|
||||
"tagline": "GoogleTest for embedded",
|
||||
"status": "stable"
|
||||
},
|
||||
"pw_watch": {
|
||||
"tagline": "Embedded development file system watcher",
|
||||
"status": "stable"
|
||||
}
|
||||
}
|
54
docs/module_metadata_schema.json
Normal file
54
docs/module_metadata_schema.json
Normal file
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"description": "Schema for //docs/module_metadata.json.",
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^pw_.*": {
|
||||
"description": "The metadata for each module must match this schema.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"languages": {
|
||||
"description": "The programming languages that the module supports.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"C",
|
||||
"C11",
|
||||
"C++",
|
||||
"C++17",
|
||||
"C++20",
|
||||
"CLI",
|
||||
"Java",
|
||||
"Python",
|
||||
"Rust",
|
||||
"Starlark",
|
||||
"TypeScript"
|
||||
]
|
||||
}
|
||||
},
|
||||
"size": {
|
||||
"description": "A summary of the code size impact of the module.",
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"description": "The status of the module.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"stable",
|
||||
"unstable",
|
||||
"experimental"
|
||||
]
|
||||
},
|
||||
"tagline": {
|
||||
"description": "A concise summary of the module's value proposition.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"status"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
|
@ -5,9 +5,6 @@ pw_alignment
|
|||
============
|
||||
.. pigweed-module::
|
||||
:name: pw_alignment
|
||||
:tagline: Natural object alignment, guaranteed
|
||||
:status: stable
|
||||
:languages: C++17
|
||||
|
||||
- **Transparent**: Enforce natural alignment without any changes to how your
|
||||
objects are used.
|
||||
|
|
|
@ -5,7 +5,6 @@ API reference
|
|||
=============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_allocator
|
||||
:tagline: pw_allocator: Flexible, safe, and measurable memory allocation
|
||||
|
||||
This module provides the following:
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ Code size analysis
|
|||
==================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_allocator
|
||||
:tagline: pw_allocator: Flexible, safe, and measurable memory allocation
|
||||
|
||||
This module provides several implementations of the
|
||||
:ref:`module-pw_allocator-api-allocator` interface. The tables below shows the
|
||||
|
|
|
@ -5,7 +5,6 @@ Design & roadmap
|
|||
================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_allocator
|
||||
:tagline: pw_allocator: Flexible, safe, and measurable memory allocation
|
||||
|
||||
----------------------------------
|
||||
Design of pw::allocator::Allocator
|
||||
|
|
|
@ -5,10 +5,6 @@ pw_allocator
|
|||
============
|
||||
.. pigweed-module::
|
||||
:name: pw_allocator
|
||||
:tagline: Flexible, safe, and measurable memory allocation
|
||||
:status: unstable
|
||||
:languages: C++17
|
||||
:code-size-impact: 400 to 1800 bytes
|
||||
|
||||
- **Flexible**: Simple interface makes it easy to inject specific behaviors.
|
||||
- **Safe**: Can detect memory corruption, e.g overflows and use-after-free.
|
||||
|
|
|
@ -5,7 +5,6 @@ Guides
|
|||
======
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_allocator
|
||||
:tagline: pw_allocator: Flexible, safe, and measurable memory allocation
|
||||
|
||||
.. _module-pw_allocator-get-started:
|
||||
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_async2
|
|||
=============
|
||||
.. pigweed-module::
|
||||
:name: pw_async2
|
||||
:tagline: Cooperative async tasks for embedded
|
||||
:status: experimental
|
||||
:languages: C++17
|
||||
|
||||
- **Simple Ownership**: Say goodbye to that jumble of callbacks and shared
|
||||
state! Complex tasks with many concurrent elements can be expressed by
|
||||
|
|
|
@ -5,10 +5,6 @@ pw_bluetooth_sapphire
|
|||
=====================
|
||||
.. pigweed-module::
|
||||
:name: pw_bluetooth_sapphire
|
||||
:tagline: Battle-tested Bluetooth with rock-solid reliability
|
||||
:status: unstable
|
||||
:languages: C++17
|
||||
:code-size-impact: 1.5 to 2 megabytes
|
||||
|
||||
.. attention::
|
||||
This module is still under construction. There is no public API yet. Please
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_boot
|
|||
=======
|
||||
.. pigweed-module::
|
||||
:name: pw_boot
|
||||
:tagline: Simplified booting for embedded C++ targets
|
||||
:status: stable
|
||||
:languages: C++17
|
||||
|
||||
``pw_boot`` provides a linker script and some early initialization of static
|
||||
memory regions and C++ constructors. This is enough to get many targets booted
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_build_android
|
|||
================
|
||||
.. pigweed-module::
|
||||
:name: pw_build_android
|
||||
:tagline: Utilities for using Pigweed in Android platform
|
||||
:status: unstable
|
||||
:languages: C++20
|
||||
|
||||
``pw_build_android`` provides simple utilities and guidelines for building with
|
||||
Soong.
|
||||
|
|
|
@ -5,10 +5,6 @@ pw_console
|
|||
==========
|
||||
.. pigweed-module::
|
||||
:name: pw_console
|
||||
:tagline: Multi-purpose pluggable interactive console for dev & manufacturing
|
||||
:status: stable
|
||||
:languages: Python
|
||||
:code-size-impact: N/A (host) but works best with pw_rpc on device
|
||||
|
||||
The Pigweed Console provides a Python repl (read eval print loop) using
|
||||
`ptpython`_ and a log message viewer in a single-window terminal based
|
||||
|
|
|
@ -5,7 +5,6 @@ Embedding Guide
|
|||
===============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_console
|
||||
:tagline: pw_console: Multi-purpose pluggable interactive console for dev & manufacturing
|
||||
|
||||
-------------
|
||||
Using embed()
|
||||
|
|
|
@ -4,7 +4,6 @@ Internal Design
|
|||
===============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_console
|
||||
:tagline: pw_console: Multi-purpose pluggable interactive console for dev & manufacturing
|
||||
|
||||
Threads and Event Loops
|
||||
-----------------------
|
||||
|
|
|
@ -5,7 +5,6 @@ Plugin Guide
|
|||
============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_console
|
||||
:tagline: pw_console: Multi-purpose pluggable interactive console for dev & manufacturing
|
||||
|
||||
Pigweed Console supports extending the user interface with custom widgets. For
|
||||
example: Toolbars that display device information and provide buttons for
|
||||
|
|
|
@ -4,7 +4,6 @@ User Guide
|
|||
==========
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_console
|
||||
:tagline: pw_console: Multi-purpose pluggable interactive console for dev & manufacturing
|
||||
|
||||
.. tip::
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ Manual Test Procedure
|
|||
=====================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_console
|
||||
:tagline: pw_console: Multi-purpose pluggable interactive console for dev & manufacturing
|
||||
|
||||
``pw_console`` is a Terminal based user interface which is difficult to
|
||||
completely test in an automated fashion. Unit tests that don't depend on the
|
||||
|
|
|
@ -7,9 +7,6 @@ pw_digital_io_linux
|
|||
===================
|
||||
.. pigweed-module::
|
||||
:name: pw_digital_io_linux
|
||||
:tagline: Digital IO interface for Linux userspace
|
||||
:status: unstable
|
||||
:languages: C++17
|
||||
|
||||
``pw_digital_io_linux`` implements the :ref:`module-pw_digital_io` interface
|
||||
using the `Linux userspace gpio-cdev interface
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
.. _module-pw_docgen:
|
||||
|
||||
---------
|
||||
=========
|
||||
pw_docgen
|
||||
---------
|
||||
=========
|
||||
The docgen module provides tools to generate documentation for Pigweed-based
|
||||
projects, and for Pigweed itself.
|
||||
|
||||
|
@ -20,8 +20,9 @@ depend on other build targets, such as report cards for binary size/profiling.
|
|||
Any time the code is changed, documentation will be regenerated with the updated
|
||||
reports.
|
||||
|
||||
Documentation Overview
|
||||
======================
|
||||
----------------------
|
||||
Documentation overview
|
||||
----------------------
|
||||
Each Pigweed module provides documentation describing its functionality, use
|
||||
cases, and programming API.
|
||||
|
||||
|
@ -29,9 +30,9 @@ Included in a module's documentation are report cards which show an overview of
|
|||
the module's size cost and performance benchmarks. These allow prospective users
|
||||
to evaluate the impact of including the module in their projects.
|
||||
|
||||
Build Integration
|
||||
=================
|
||||
|
||||
-----------------
|
||||
Build integration
|
||||
-----------------
|
||||
Pigweed documentation files are written in `reStructuredText`_ format and
|
||||
rendered to HTML using `Sphinx`_ through Pigweed's GN build system.
|
||||
|
||||
|
@ -53,10 +54,10 @@ system can either be used directly within Pigweed, or integrated into a
|
|||
downstream project.
|
||||
|
||||
GN Templates
|
||||
------------
|
||||
============
|
||||
|
||||
pw_doc_group
|
||||
____________
|
||||
------------
|
||||
The main template for defining documentation files is ``pw_doc_group``. It is
|
||||
used to logically group a collection of documentation source files and assets.
|
||||
Each Pigweed module is expected to provide at least one ``pw_doc_group`` target
|
||||
|
@ -87,7 +88,7 @@ groups, causing them to be built with it.
|
|||
}
|
||||
|
||||
pw_doc_gen
|
||||
__________
|
||||
----------
|
||||
The ``pw_doc_gen`` template creates a target which renders complete HTML
|
||||
documentation for a project. It depends on registered ``pw_doc_group`` targets
|
||||
and creates an action which collects and renders them.
|
||||
|
@ -120,7 +121,7 @@ to tie everything together.
|
|||
]
|
||||
}
|
||||
|
||||
Generating Documentation
|
||||
Generating documentation
|
||||
------------------------
|
||||
All source files listed under a ``pw_doc_gen`` target and its ``pw_doc_group``
|
||||
dependencies get copied out into a directory structure mirroring the original
|
||||
|
@ -178,50 +179,18 @@ your browser will refresh as you make changes to the source files.
|
|||
In most cases, you will not need to run the docs server directly. Instead, it
|
||||
will be run via :ref:`module-pw_watch`.
|
||||
|
||||
-----------------
|
||||
Sphinx Extensions
|
||||
=================
|
||||
-----------------
|
||||
This module houses Pigweed-specific extensions for the Sphinx documentation
|
||||
generator. Extensions are included and configured in ``docs/conf.py``.
|
||||
|
||||
module_metadata
|
||||
---------------
|
||||
Per :ref:`SEED-0102 <seed-0102>`, Pigweed module documentation has a standard
|
||||
format. The ``pigweed-module`` Sphinx directive provides that format and
|
||||
registers module metadata that can be used elsewhere in the Sphinx build.
|
||||
|
||||
We need to add the directive after the document title, and add a class *to*
|
||||
the document title to achieve the title & subtitle formatting. Here's an
|
||||
example:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
.. rst-class:: with-subtitle
|
||||
|
||||
=========
|
||||
pw_string
|
||||
=========
|
||||
|
||||
.. pigweed-module::
|
||||
:name: pw_string
|
||||
:tagline: Efficient, easy, and safe string manipulation
|
||||
:status: stable
|
||||
:languages: C++17, Rust
|
||||
:code-size-impact: 500 to 1500 bytes
|
||||
|
||||
Module sales pitch goes here!
|
||||
|
||||
Directive options
|
||||
_________________
|
||||
- ``name``: The module name (required)
|
||||
- ``tagline``: A very short tagline that summarizes the module (required)
|
||||
- ``status``: One of ``experimental``, ``unstable``, and ``stable`` (required)
|
||||
- ``is-deprecated``: A flag indicating that the module is deprecated
|
||||
- ``languages``: A comma-separated list of languages the module supports. If
|
||||
the language has API docs (Rust), they will be linked from the metadata block.
|
||||
- ``code-size-impact``: A summarize of the average code size impact
|
||||
===============
|
||||
See :ref:`docs-contrib-moduledocs-metadata`.
|
||||
|
||||
Canonical URL configuration
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
---------------------------
|
||||
``module_metadata`` fixes the canonical URLs for ``*/docs.html`` pages. By
|
||||
default Sphinx assumes that a page's canonical URL is its full URL. E.g. the
|
||||
default canonical URL for ``//pw_string/docs.rst`` is
|
||||
|
|
|
@ -23,6 +23,8 @@ Everything is implemented through the Sphinx Extension API.
|
|||
"""
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
from typing import cast, Dict, List, Optional, TypeVar, Union
|
||||
|
||||
|
@ -37,6 +39,13 @@ try:
|
|||
bs_enabled = True
|
||||
except ModuleNotFoundError:
|
||||
bs_enabled = False
|
||||
|
||||
try:
|
||||
import jsonschema # type: ignore
|
||||
|
||||
jsonschema_enabled = True
|
||||
except ModuleNotFoundError:
|
||||
jsonschema_enabled = False
|
||||
# pylint: enable=import-error
|
||||
|
||||
import docutils
|
||||
|
@ -58,6 +67,22 @@ from sphinx_design.cards import CardDirective
|
|||
EnvAttrT = TypeVar('EnvAttrT')
|
||||
|
||||
|
||||
# The module metadata is exposed as a global because it's used as read-only
|
||||
# data. Opening and reading the metadata file in one of the event handlers
|
||||
# would cause hundreds of filesystem reads on each build because those event
|
||||
# handlers fire once for each docs page.
|
||||
metadata_file = 'docs/module_metadata.json'
|
||||
schema_file = 'docs/module_metadata_schema.json'
|
||||
with open(f'{os.environ["PW_ROOT"]}/{schema_file}', 'r') as f:
|
||||
schema = json.load(f)
|
||||
with open(f'{os.environ["PW_ROOT"]}/{metadata_file}', 'r') as f:
|
||||
metadata = json.load(f)
|
||||
# Make sure the metadata matches its schema. Raise an uncaught exception
|
||||
# if not.
|
||||
if jsonschema_enabled:
|
||||
jsonschema.validate(metadata, schema)
|
||||
|
||||
|
||||
@dataclass
|
||||
class ParsedBody:
|
||||
topnav: str
|
||||
|
@ -97,8 +122,74 @@ class EnvMetadata:
|
|||
return self._get_env_attr('pw_module_nav', default)
|
||||
|
||||
|
||||
def status_choice(arg):
|
||||
return directives.choice(arg, ('experimental', 'unstable', 'stable'))
|
||||
def get_languages(module_name: str) -> Optional[List[str]]:
|
||||
"""Returns the list of languages that a module supports.
|
||||
|
||||
Args:
|
||||
module_name: The module to look up.
|
||||
|
||||
Returns:
|
||||
A list of programming languages that the module supports, or ``None``
|
||||
if this has not been defined in ``//docs/module_metadata.json``.
|
||||
"""
|
||||
if module_name not in metadata:
|
||||
return None
|
||||
if 'languages' not in metadata[module_name]:
|
||||
return None
|
||||
return metadata[module_name]['languages']
|
||||
|
||||
|
||||
def get_status(module_name: str) -> str:
|
||||
"""Returns the status of a module.
|
||||
|
||||
Preconditions:
|
||||
The status must be defined in ``//docs/module_metadata.json``.
|
||||
|
||||
Args:
|
||||
module_name: The module to look up.
|
||||
|
||||
Returns:
|
||||
The status of the module as a string.
|
||||
"""
|
||||
if module_name not in metadata:
|
||||
sys.exit(f'{module_name} not found in {metadata_file}')
|
||||
if 'status' not in metadata[module_name]:
|
||||
sys.exit(f'{module_name}.status not found in {metadata_file}')
|
||||
return metadata[module_name]['status']
|
||||
|
||||
|
||||
def get_tagline(module_name: str) -> Optional[str]:
|
||||
"""Returns the tagline for a module.
|
||||
|
||||
Args:
|
||||
module_name: The module to look up.
|
||||
|
||||
Returns:
|
||||
The module's tagline or ``None`` if no tagline has been defined
|
||||
in ``//docs/module_metadata.json``.
|
||||
"""
|
||||
if module_name not in metadata:
|
||||
return None
|
||||
if 'tagline' not in metadata[module_name]:
|
||||
return None
|
||||
return metadata[module_name]['tagline']
|
||||
|
||||
|
||||
def get_code_size(module_name: str) -> Optional[str]:
|
||||
"""Returns the code size impact summary for a module.
|
||||
|
||||
Args:
|
||||
module_name: The module to look up.
|
||||
|
||||
Returns:
|
||||
The code size impact summary as a string or ``None`` if no summary
|
||||
has been defined in ``//docs/module_metadata.json``.
|
||||
"""
|
||||
if module_name not in metadata:
|
||||
return None
|
||||
if 'size' not in metadata[module_name]:
|
||||
return None
|
||||
return metadata[module_name]['size']
|
||||
|
||||
|
||||
def status_badge(module_status: str) -> str:
|
||||
|
@ -131,7 +222,7 @@ def concat_tags(*tag_lists: List[str]) -> List[str]:
|
|||
|
||||
|
||||
def create_topnav(
|
||||
subtitle: str,
|
||||
subtitle: Optional[str],
|
||||
extra_classes: Optional[List[str]] = None,
|
||||
) -> nodes.Node:
|
||||
"""Create the nodes for the top title and navigation bar."""
|
||||
|
@ -142,12 +233,13 @@ def create_topnav(
|
|||
|
||||
topnav_container = nodes.container(classes=topnav_classes)
|
||||
|
||||
subtitle_node = nodes.paragraph(
|
||||
classes=['pw-topnav-subtitle'],
|
||||
text=subtitle,
|
||||
)
|
||||
if subtitle:
|
||||
subtitle_node = nodes.paragraph(
|
||||
classes=['pw-topnav-subtitle'],
|
||||
text=subtitle,
|
||||
)
|
||||
topnav_container += subtitle_node
|
||||
|
||||
topnav_container += subtitle_node
|
||||
return topnav_container
|
||||
|
||||
|
||||
|
@ -157,16 +249,7 @@ class PigweedModuleDirective(SphinxDirective):
|
|||
required_arguments = 0
|
||||
final_argument_whitespace = True
|
||||
has_content = True
|
||||
option_spec = {
|
||||
'name': directives.unchanged_required,
|
||||
'tagline': directives.unchanged_required,
|
||||
'status': status_choice,
|
||||
'is-deprecated': directives.flag,
|
||||
'languages': directives.unchanged,
|
||||
'code-size-impact': directives.unchanged,
|
||||
'facade': directives.unchanged,
|
||||
'nav': directives.unchanged_required,
|
||||
}
|
||||
option_spec = {'name': directives.unchanged_required}
|
||||
|
||||
def _try_get_option(self, option: str):
|
||||
"""Try to get an option by name and raise on failure."""
|
||||
|
@ -182,34 +265,23 @@ class PigweedModuleDirective(SphinxDirective):
|
|||
|
||||
def run(self) -> List[nodes.Node]:
|
||||
module_name = self._try_get_option('name')
|
||||
tagline = self._try_get_option('tagline')
|
||||
tagline = get_tagline(module_name)
|
||||
status = get_status(module_name)
|
||||
|
||||
status_tags: List[str] = [
|
||||
status_badge(self._try_get_option('status')),
|
||||
status_badge(status),
|
||||
]
|
||||
|
||||
if 'is-deprecated' in self.options:
|
||||
status_tags.append(':bdg-danger:`Deprecated`')
|
||||
|
||||
languages = get_languages(module_name)
|
||||
language_tags = []
|
||||
|
||||
if 'languages' in self.options:
|
||||
languages = self.options['languages'].split(',')
|
||||
|
||||
if len(languages) > 0:
|
||||
for language in languages:
|
||||
language = language.strip()
|
||||
if language == 'Rust':
|
||||
language_tags.append(
|
||||
f':bdg-link-info:`{language}'
|
||||
+ f'</rustdoc/{module_name}>`'
|
||||
)
|
||||
else:
|
||||
language_tags.append(f':bdg-info:`{language}`')
|
||||
if languages:
|
||||
for language in languages:
|
||||
language_tags.append(f':bdg-info:`{language}`')
|
||||
|
||||
code_size_impact = []
|
||||
|
||||
if code_size_text := self._maybe_get_option('code-size-impact'):
|
||||
code_size_text = get_code_size(module_name)
|
||||
if code_size_text:
|
||||
code_size_impact.append(f'**Code Size Impact:** {code_size_text}')
|
||||
|
||||
# Move the directive content into a section that we can render wherever
|
||||
|
@ -247,12 +319,15 @@ class PigweedModuleSubpageDirective(PigweedModuleDirective):
|
|||
has_content = True
|
||||
option_spec = {
|
||||
'name': directives.unchanged_required,
|
||||
'tagline': directives.unchanged_required,
|
||||
'nav': directives.unchanged_required,
|
||||
}
|
||||
|
||||
def run(self) -> List[nodes.Node]:
|
||||
tagline = self._try_get_option('tagline')
|
||||
module_name = self._try_get_option('name')
|
||||
tagline = get_tagline(module_name)
|
||||
# Prepend the module name on sub-pages so that it's very clear what
|
||||
# the tagline is referring to.
|
||||
tagline = f'{module_name}: {tagline}'
|
||||
|
||||
topbar = create_topnav(
|
||||
tagline,
|
||||
|
|
|
@ -5,7 +5,6 @@ API reference
|
|||
=============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_emu
|
||||
:tagline: pw_emu: Flexible emulators frontend
|
||||
|
||||
------------------------
|
||||
pw_emu.frontend.Emulator
|
||||
|
|
|
@ -5,7 +5,6 @@ CLI reference
|
|||
=============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_emu
|
||||
:tagline: pw_emu: Flexible emulators frontend
|
||||
|
||||
.. argparse::
|
||||
:module: pw_emu.__main__
|
||||
|
|
|
@ -5,7 +5,6 @@ Configuration
|
|||
=============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_emu
|
||||
:tagline: pw_emu: Flexible emulators frontend
|
||||
|
||||
``pw_emu`` configuration is done in the ``pw.pw_emu`` namespace of
|
||||
:ref:`pigweed.json <seed-0101>`.
|
||||
|
|
|
@ -5,7 +5,6 @@ Design
|
|||
======
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_emu
|
||||
:tagline: pw_emu: Flexible emulators frontend
|
||||
|
||||
-----------
|
||||
Parallelism
|
||||
|
|
|
@ -7,9 +7,6 @@ pw_emu
|
|||
======
|
||||
.. pigweed-module::
|
||||
:name: pw_emu
|
||||
:tagline: Flexible emulators frontend
|
||||
:status: experimental
|
||||
:languages: Python, CLI
|
||||
|
||||
* **Declarative**. Define emulation targets in JSON. A target encapsulates the
|
||||
emulated machine, tools, and host channels configuration.
|
||||
|
|
|
@ -5,7 +5,6 @@ Get started & guides
|
|||
====================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_emu
|
||||
:tagline: pw_emu: Flexible emulators frontend
|
||||
|
||||
.. _module-pw_emu-get-started:
|
||||
|
||||
|
|
|
@ -841,6 +841,7 @@ pyyaml==6.0.1 \
|
|||
--hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \
|
||||
--hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \
|
||||
--hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \
|
||||
--hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
|
||||
--hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \
|
||||
--hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \
|
||||
--hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \
|
||||
|
|
|
@ -835,6 +835,7 @@ pyyaml==6.0.1 \
|
|||
--hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \
|
||||
--hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \
|
||||
--hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \
|
||||
--hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
|
||||
--hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \
|
||||
--hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \
|
||||
--hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \
|
||||
|
|
|
@ -839,6 +839,7 @@ pyyaml==6.0.1 \
|
|||
--hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \
|
||||
--hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \
|
||||
--hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \
|
||||
--hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
|
||||
--hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \
|
||||
--hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \
|
||||
--hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \
|
||||
|
|
|
@ -21,6 +21,7 @@ breathe==4.35.0
|
|||
kconfiglib==14.1.0
|
||||
pytz==2023.3
|
||||
sphinx-sitemap==2.5.1
|
||||
jsonschema==4.21.1
|
||||
# Renode requirements
|
||||
psutil==5.9.4
|
||||
robotframework==6.0.2
|
||||
|
|
|
@ -34,6 +34,13 @@ asttokens==2.4.0 \
|
|||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# stack-data
|
||||
attrs==23.2.0 \
|
||||
--hash=sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30 \
|
||||
--hash=sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# referencing
|
||||
babel==2.12.1 \
|
||||
--hash=sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610 \
|
||||
--hash=sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455
|
||||
|
@ -514,6 +521,13 @@ importlib-metadata==6.8.0 \
|
|||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# sphinx
|
||||
importlib-resources==6.1.3 \
|
||||
--hash=sha256:4c0269e3580fe2634d364b39b38b961540a7738c02cb984e98add8b4221d793d \
|
||||
--hash=sha256:56fb4525197b78544a3354ea27793952ab93f935bb4bf746b846bb1015020f2b
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# jsonschema-specifications
|
||||
ipython==8.12.2 \
|
||||
--hash=sha256:c7b80eb7f5a855a88efc971fda506ff7a91c280b42cdae26643e0f601ea281ea \
|
||||
--hash=sha256:ea8801f15dfe4ffb76dea1b09b847430ffd70d827b41735c64a0638a04103bfc
|
||||
|
@ -541,6 +555,16 @@ json5==0.9.11 \
|
|||
--hash=sha256:1aa54b80b5e507dfe31d12b7743a642e2ffa6f70bf73b8e3d7d1d5fba83d99bd \
|
||||
--hash=sha256:4f1e196acc55b83985a51318489f345963c7ba84aa37607e49073066c562e99b
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
jsonschema==4.21.1 \
|
||||
--hash=sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f \
|
||||
--hash=sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
jsonschema-specifications==2023.12.1 \
|
||||
--hash=sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc \
|
||||
--hash=sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
kconfiglib==14.1.0 \
|
||||
--hash=sha256:bed2cc2216f538eca4255a83a4588d8823563cdd50114f86cf1a2674e602c93c \
|
||||
--hash=sha256:edcd35a20e7e138a9a9e96149027f805f785e818d2eae400b6fa8b0c8845114a
|
||||
|
@ -707,8 +731,15 @@ pip-tools==7.3.0 \
|
|||
--hash=sha256:8717693288720a8c6ebd07149c93ab0be1fced0b5191df9e9decd3263e20d85e \
|
||||
--hash=sha256:8e9c99127fe024c025b46a0b2d15c7bd47f18f33226cf7330d35493663fc1d1d
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
pkgutil-resolve-name==1.3.10 \
|
||||
--hash=sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174 \
|
||||
--hash=sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
platformdirs==3.0.0 \
|
||||
--hash=sha256:8a1228abb1ef82d788f74139988b137e78692984ec7b08eaa6c65f1723af28f9 \
|
||||
--hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
|
||||
--hash=sha256:b1d5eb14f221506f50d6604a561f4c5786d9e80355219694a1b244bcd96f4567
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
|
@ -887,6 +918,13 @@ pyyaml==6.0.1 \
|
|||
--hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \
|
||||
--hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
referencing==0.33.0 \
|
||||
--hash=sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5 \
|
||||
--hash=sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# jsonschema-specifications
|
||||
requests==2.31.0 \
|
||||
--hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \
|
||||
--hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1
|
||||
|
@ -899,6 +937,110 @@ robotframework==6.0.2 \
|
|||
--hash=sha256:634cd6f9fdc21142eadd9aacdddbfe7d3e2a757532b71d866dbb404cd0e66dac \
|
||||
--hash=sha256:6a9c06deb220099990f190c6e4e772675f625e4d5d84640fca6f0ad46ff538d0
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
rpds-py==0.18.0 \
|
||||
--hash=sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f \
|
||||
--hash=sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c \
|
||||
--hash=sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76 \
|
||||
--hash=sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e \
|
||||
--hash=sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157 \
|
||||
--hash=sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f \
|
||||
--hash=sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5 \
|
||||
--hash=sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05 \
|
||||
--hash=sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24 \
|
||||
--hash=sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1 \
|
||||
--hash=sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8 \
|
||||
--hash=sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b \
|
||||
--hash=sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb \
|
||||
--hash=sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07 \
|
||||
--hash=sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1 \
|
||||
--hash=sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6 \
|
||||
--hash=sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e \
|
||||
--hash=sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e \
|
||||
--hash=sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1 \
|
||||
--hash=sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab \
|
||||
--hash=sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4 \
|
||||
--hash=sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17 \
|
||||
--hash=sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594 \
|
||||
--hash=sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d \
|
||||
--hash=sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d \
|
||||
--hash=sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3 \
|
||||
--hash=sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c \
|
||||
--hash=sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66 \
|
||||
--hash=sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f \
|
||||
--hash=sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80 \
|
||||
--hash=sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33 \
|
||||
--hash=sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f \
|
||||
--hash=sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c \
|
||||
--hash=sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022 \
|
||||
--hash=sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e \
|
||||
--hash=sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f \
|
||||
--hash=sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da \
|
||||
--hash=sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1 \
|
||||
--hash=sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688 \
|
||||
--hash=sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795 \
|
||||
--hash=sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c \
|
||||
--hash=sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98 \
|
||||
--hash=sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1 \
|
||||
--hash=sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20 \
|
||||
--hash=sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307 \
|
||||
--hash=sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4 \
|
||||
--hash=sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18 \
|
||||
--hash=sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294 \
|
||||
--hash=sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66 \
|
||||
--hash=sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467 \
|
||||
--hash=sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948 \
|
||||
--hash=sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e \
|
||||
--hash=sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1 \
|
||||
--hash=sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0 \
|
||||
--hash=sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7 \
|
||||
--hash=sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd \
|
||||
--hash=sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641 \
|
||||
--hash=sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d \
|
||||
--hash=sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9 \
|
||||
--hash=sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1 \
|
||||
--hash=sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da \
|
||||
--hash=sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3 \
|
||||
--hash=sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa \
|
||||
--hash=sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7 \
|
||||
--hash=sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40 \
|
||||
--hash=sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496 \
|
||||
--hash=sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124 \
|
||||
--hash=sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836 \
|
||||
--hash=sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434 \
|
||||
--hash=sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984 \
|
||||
--hash=sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f \
|
||||
--hash=sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6 \
|
||||
--hash=sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e \
|
||||
--hash=sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461 \
|
||||
--hash=sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c \
|
||||
--hash=sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432 \
|
||||
--hash=sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73 \
|
||||
--hash=sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58 \
|
||||
--hash=sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88 \
|
||||
--hash=sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337 \
|
||||
--hash=sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7 \
|
||||
--hash=sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863 \
|
||||
--hash=sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475 \
|
||||
--hash=sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3 \
|
||||
--hash=sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51 \
|
||||
--hash=sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf \
|
||||
--hash=sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024 \
|
||||
--hash=sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40 \
|
||||
--hash=sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9 \
|
||||
--hash=sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec \
|
||||
--hash=sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb \
|
||||
--hash=sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7 \
|
||||
--hash=sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861 \
|
||||
--hash=sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880 \
|
||||
--hash=sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f \
|
||||
--hash=sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd \
|
||||
--hash=sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca \
|
||||
--hash=sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58 \
|
||||
--hash=sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# referencing
|
||||
rsa==4.8 \
|
||||
--hash=sha256:5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17 \
|
||||
--hash=sha256:95c5d300c4e879ee69708c428ba566c59478fd653cc3a22243eeb8ed846950bb
|
||||
|
@ -1214,6 +1356,7 @@ zipp==3.16.2 \
|
|||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# importlib-metadata
|
||||
# importlib-resources
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==23.2.1 \
|
||||
--hash=sha256:7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be \
|
||||
|
|
|
@ -28,6 +28,13 @@ asttokens==2.4.0 \
|
|||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# stack-data
|
||||
attrs==23.2.0 \
|
||||
--hash=sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30 \
|
||||
--hash=sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# referencing
|
||||
babel==2.12.1 \
|
||||
--hash=sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610 \
|
||||
--hash=sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455
|
||||
|
@ -508,6 +515,13 @@ importlib-metadata==6.8.0 \
|
|||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# sphinx
|
||||
importlib-resources==6.1.3 \
|
||||
--hash=sha256:4c0269e3580fe2634d364b39b38b961540a7738c02cb984e98add8b4221d793d \
|
||||
--hash=sha256:56fb4525197b78544a3354ea27793952ab93f935bb4bf746b846bb1015020f2b
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# jsonschema-specifications
|
||||
ipython==8.12.2 \
|
||||
--hash=sha256:c7b80eb7f5a855a88efc971fda506ff7a91c280b42cdae26643e0f601ea281ea \
|
||||
--hash=sha256:ea8801f15dfe4ffb76dea1b09b847430ffd70d827b41735c64a0638a04103bfc
|
||||
|
@ -535,6 +549,16 @@ json5==0.9.11 \
|
|||
--hash=sha256:1aa54b80b5e507dfe31d12b7743a642e2ffa6f70bf73b8e3d7d1d5fba83d99bd \
|
||||
--hash=sha256:4f1e196acc55b83985a51318489f345963c7ba84aa37607e49073066c562e99b
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
jsonschema==4.21.1 \
|
||||
--hash=sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f \
|
||||
--hash=sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
jsonschema-specifications==2023.12.1 \
|
||||
--hash=sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc \
|
||||
--hash=sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
kconfiglib==14.1.0 \
|
||||
--hash=sha256:bed2cc2216f538eca4255a83a4588d8823563cdd50114f86cf1a2674e602c93c \
|
||||
--hash=sha256:edcd35a20e7e138a9a9e96149027f805f785e818d2eae400b6fa8b0c8845114a
|
||||
|
@ -701,6 +725,12 @@ pip-tools==7.3.0 \
|
|||
--hash=sha256:8717693288720a8c6ebd07149c93ab0be1fced0b5191df9e9decd3263e20d85e \
|
||||
--hash=sha256:8e9c99127fe024c025b46a0b2d15c7bd47f18f33226cf7330d35493663fc1d1d
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
pkgutil-resolve-name==1.3.10 \
|
||||
--hash=sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174 \
|
||||
--hash=sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
platformdirs==3.0.0 \
|
||||
--hash=sha256:8a1228abb1ef82d788f74139988b137e78692984ec7b08eaa6c65f1723af28f9 \
|
||||
--hash=sha256:b1d5eb14f221506f50d6604a561f4c5786d9e80355219694a1b244bcd96f4567
|
||||
|
@ -859,6 +889,7 @@ pyyaml==6.0.1 \
|
|||
--hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \
|
||||
--hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \
|
||||
--hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \
|
||||
--hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
|
||||
--hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \
|
||||
--hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \
|
||||
--hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \
|
||||
|
@ -881,6 +912,13 @@ pyyaml==6.0.1 \
|
|||
--hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \
|
||||
--hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
referencing==0.33.0 \
|
||||
--hash=sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5 \
|
||||
--hash=sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# jsonschema-specifications
|
||||
requests==2.31.0 \
|
||||
--hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \
|
||||
--hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1
|
||||
|
@ -893,6 +931,110 @@ robotframework==6.0.2 \
|
|||
--hash=sha256:634cd6f9fdc21142eadd9aacdddbfe7d3e2a757532b71d866dbb404cd0e66dac \
|
||||
--hash=sha256:6a9c06deb220099990f190c6e4e772675f625e4d5d84640fca6f0ad46ff538d0
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
rpds-py==0.18.0 \
|
||||
--hash=sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f \
|
||||
--hash=sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c \
|
||||
--hash=sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76 \
|
||||
--hash=sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e \
|
||||
--hash=sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157 \
|
||||
--hash=sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f \
|
||||
--hash=sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5 \
|
||||
--hash=sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05 \
|
||||
--hash=sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24 \
|
||||
--hash=sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1 \
|
||||
--hash=sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8 \
|
||||
--hash=sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b \
|
||||
--hash=sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb \
|
||||
--hash=sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07 \
|
||||
--hash=sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1 \
|
||||
--hash=sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6 \
|
||||
--hash=sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e \
|
||||
--hash=sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e \
|
||||
--hash=sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1 \
|
||||
--hash=sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab \
|
||||
--hash=sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4 \
|
||||
--hash=sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17 \
|
||||
--hash=sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594 \
|
||||
--hash=sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d \
|
||||
--hash=sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d \
|
||||
--hash=sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3 \
|
||||
--hash=sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c \
|
||||
--hash=sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66 \
|
||||
--hash=sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f \
|
||||
--hash=sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80 \
|
||||
--hash=sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33 \
|
||||
--hash=sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f \
|
||||
--hash=sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c \
|
||||
--hash=sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022 \
|
||||
--hash=sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e \
|
||||
--hash=sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f \
|
||||
--hash=sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da \
|
||||
--hash=sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1 \
|
||||
--hash=sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688 \
|
||||
--hash=sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795 \
|
||||
--hash=sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c \
|
||||
--hash=sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98 \
|
||||
--hash=sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1 \
|
||||
--hash=sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20 \
|
||||
--hash=sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307 \
|
||||
--hash=sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4 \
|
||||
--hash=sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18 \
|
||||
--hash=sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294 \
|
||||
--hash=sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66 \
|
||||
--hash=sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467 \
|
||||
--hash=sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948 \
|
||||
--hash=sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e \
|
||||
--hash=sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1 \
|
||||
--hash=sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0 \
|
||||
--hash=sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7 \
|
||||
--hash=sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd \
|
||||
--hash=sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641 \
|
||||
--hash=sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d \
|
||||
--hash=sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9 \
|
||||
--hash=sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1 \
|
||||
--hash=sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da \
|
||||
--hash=sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3 \
|
||||
--hash=sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa \
|
||||
--hash=sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7 \
|
||||
--hash=sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40 \
|
||||
--hash=sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496 \
|
||||
--hash=sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124 \
|
||||
--hash=sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836 \
|
||||
--hash=sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434 \
|
||||
--hash=sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984 \
|
||||
--hash=sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f \
|
||||
--hash=sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6 \
|
||||
--hash=sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e \
|
||||
--hash=sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461 \
|
||||
--hash=sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c \
|
||||
--hash=sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432 \
|
||||
--hash=sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73 \
|
||||
--hash=sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58 \
|
||||
--hash=sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88 \
|
||||
--hash=sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337 \
|
||||
--hash=sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7 \
|
||||
--hash=sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863 \
|
||||
--hash=sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475 \
|
||||
--hash=sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3 \
|
||||
--hash=sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51 \
|
||||
--hash=sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf \
|
||||
--hash=sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024 \
|
||||
--hash=sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40 \
|
||||
--hash=sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9 \
|
||||
--hash=sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec \
|
||||
--hash=sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb \
|
||||
--hash=sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7 \
|
||||
--hash=sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861 \
|
||||
--hash=sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880 \
|
||||
--hash=sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f \
|
||||
--hash=sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd \
|
||||
--hash=sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca \
|
||||
--hash=sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58 \
|
||||
--hash=sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# referencing
|
||||
rsa==4.8 \
|
||||
--hash=sha256:5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17 \
|
||||
--hash=sha256:95c5d300c4e879ee69708c428ba566c59478fd653cc3a22243eeb8ed846950bb
|
||||
|
@ -1208,6 +1350,7 @@ zipp==3.16.2 \
|
|||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# importlib-metadata
|
||||
# importlib-resources
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==23.2.1 \
|
||||
--hash=sha256:7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be \
|
||||
|
|
|
@ -28,6 +28,13 @@ asttokens==2.4.0 \
|
|||
# via
|
||||
# -r \python\gen\pw_env_setup\pigweed_build_venv\compiled_requirements.txt
|
||||
# stack-data
|
||||
attrs==23.2.0 \
|
||||
--hash=sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30 \
|
||||
--hash=sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# referencing
|
||||
babel==2.12.1 \
|
||||
--hash=sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610 \
|
||||
--hash=sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455
|
||||
|
@ -518,6 +525,13 @@ importlib-metadata==6.8.0 \
|
|||
# via
|
||||
# -r \python\gen\pw_env_setup\pigweed_build_venv\compiled_requirements.txt
|
||||
# sphinx
|
||||
importlib-resources==6.1.3 \
|
||||
--hash=sha256:4c0269e3580fe2634d364b39b38b961540a7738c02cb984e98add8b4221d793d \
|
||||
--hash=sha256:56fb4525197b78544a3354ea27793952ab93f935bb4bf746b846bb1015020f2b
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# jsonschema-specifications
|
||||
ipython==8.12.2 \
|
||||
--hash=sha256:c7b80eb7f5a855a88efc971fda506ff7a91c280b42cdae26643e0f601ea281ea \
|
||||
--hash=sha256:ea8801f15dfe4ffb76dea1b09b847430ffd70d827b41735c64a0638a04103bfc
|
||||
|
@ -545,6 +559,16 @@ json5==0.9.11 \
|
|||
--hash=sha256:1aa54b80b5e507dfe31d12b7743a642e2ffa6f70bf73b8e3d7d1d5fba83d99bd \
|
||||
--hash=sha256:4f1e196acc55b83985a51318489f345963c7ba84aa37607e49073066c562e99b
|
||||
# via -r \python\gen\pw_env_setup\pigweed_build_venv\compiled_requirements.txt
|
||||
jsonschema==4.21.1 \
|
||||
--hash=sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f \
|
||||
--hash=sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5
|
||||
# via -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
jsonschema-specifications==2023.12.1 \
|
||||
--hash=sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc \
|
||||
--hash=sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
kconfiglib==14.1.0 \
|
||||
--hash=sha256:bed2cc2216f538eca4255a83a4588d8823563cdd50114f86cf1a2674e602c93c \
|
||||
--hash=sha256:edcd35a20e7e138a9a9e96149027f805f785e818d2eae400b6fa8b0c8845114a
|
||||
|
@ -705,8 +729,15 @@ pip-tools==7.3.0 \
|
|||
--hash=sha256:8717693288720a8c6ebd07149c93ab0be1fced0b5191df9e9decd3263e20d85e \
|
||||
--hash=sha256:8e9c99127fe024c025b46a0b2d15c7bd47f18f33226cf7330d35493663fc1d1d
|
||||
# via -r \python\gen\pw_env_setup\pigweed_build_venv\compiled_requirements.txt
|
||||
pkgutil-resolve-name==1.3.10 \
|
||||
--hash=sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174 \
|
||||
--hash=sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
platformdirs==3.0.0 \
|
||||
--hash=sha256:8a1228abb1ef82d788f74139988b137e78692984ec7b08eaa6c65f1723af28f9 \
|
||||
--hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
|
||||
--hash=sha256:b1d5eb14f221506f50d6604a561f4c5786d9e80355219694a1b244bcd96f4567
|
||||
# via
|
||||
# -r \python\gen\pw_env_setup\pigweed_build_venv\compiled_requirements.txt
|
||||
|
@ -885,6 +916,13 @@ pyyaml==6.0.1 \
|
|||
--hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \
|
||||
--hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f
|
||||
# via -r \python\gen\pw_env_setup\pigweed_build_venv\compiled_requirements.txt
|
||||
referencing==0.33.0 \
|
||||
--hash=sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5 \
|
||||
--hash=sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# jsonschema-specifications
|
||||
requests==2.31.0 \
|
||||
--hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \
|
||||
--hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1
|
||||
|
@ -897,6 +935,110 @@ robotframework==6.0.2 \
|
|||
--hash=sha256:634cd6f9fdc21142eadd9aacdddbfe7d3e2a757532b71d866dbb404cd0e66dac \
|
||||
--hash=sha256:6a9c06deb220099990f190c6e4e772675f625e4d5d84640fca6f0ad46ff538d0
|
||||
# via -r \python\gen\pw_env_setup\pigweed_build_venv\compiled_requirements.txt
|
||||
rpds-py==0.18.0 \
|
||||
--hash=sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f \
|
||||
--hash=sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c \
|
||||
--hash=sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76 \
|
||||
--hash=sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e \
|
||||
--hash=sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157 \
|
||||
--hash=sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f \
|
||||
--hash=sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5 \
|
||||
--hash=sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05 \
|
||||
--hash=sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24 \
|
||||
--hash=sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1 \
|
||||
--hash=sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8 \
|
||||
--hash=sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b \
|
||||
--hash=sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb \
|
||||
--hash=sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07 \
|
||||
--hash=sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1 \
|
||||
--hash=sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6 \
|
||||
--hash=sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e \
|
||||
--hash=sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e \
|
||||
--hash=sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1 \
|
||||
--hash=sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab \
|
||||
--hash=sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4 \
|
||||
--hash=sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17 \
|
||||
--hash=sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594 \
|
||||
--hash=sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d \
|
||||
--hash=sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d \
|
||||
--hash=sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3 \
|
||||
--hash=sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c \
|
||||
--hash=sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66 \
|
||||
--hash=sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f \
|
||||
--hash=sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80 \
|
||||
--hash=sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33 \
|
||||
--hash=sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f \
|
||||
--hash=sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c \
|
||||
--hash=sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022 \
|
||||
--hash=sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e \
|
||||
--hash=sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f \
|
||||
--hash=sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da \
|
||||
--hash=sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1 \
|
||||
--hash=sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688 \
|
||||
--hash=sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795 \
|
||||
--hash=sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c \
|
||||
--hash=sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98 \
|
||||
--hash=sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1 \
|
||||
--hash=sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20 \
|
||||
--hash=sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307 \
|
||||
--hash=sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4 \
|
||||
--hash=sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18 \
|
||||
--hash=sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294 \
|
||||
--hash=sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66 \
|
||||
--hash=sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467 \
|
||||
--hash=sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948 \
|
||||
--hash=sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e \
|
||||
--hash=sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1 \
|
||||
--hash=sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0 \
|
||||
--hash=sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7 \
|
||||
--hash=sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd \
|
||||
--hash=sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641 \
|
||||
--hash=sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d \
|
||||
--hash=sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9 \
|
||||
--hash=sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1 \
|
||||
--hash=sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da \
|
||||
--hash=sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3 \
|
||||
--hash=sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa \
|
||||
--hash=sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7 \
|
||||
--hash=sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40 \
|
||||
--hash=sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496 \
|
||||
--hash=sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124 \
|
||||
--hash=sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836 \
|
||||
--hash=sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434 \
|
||||
--hash=sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984 \
|
||||
--hash=sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f \
|
||||
--hash=sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6 \
|
||||
--hash=sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e \
|
||||
--hash=sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461 \
|
||||
--hash=sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c \
|
||||
--hash=sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432 \
|
||||
--hash=sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73 \
|
||||
--hash=sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58 \
|
||||
--hash=sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88 \
|
||||
--hash=sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337 \
|
||||
--hash=sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7 \
|
||||
--hash=sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863 \
|
||||
--hash=sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475 \
|
||||
--hash=sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3 \
|
||||
--hash=sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51 \
|
||||
--hash=sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf \
|
||||
--hash=sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024 \
|
||||
--hash=sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40 \
|
||||
--hash=sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9 \
|
||||
--hash=sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec \
|
||||
--hash=sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb \
|
||||
--hash=sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7 \
|
||||
--hash=sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861 \
|
||||
--hash=sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880 \
|
||||
--hash=sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f \
|
||||
--hash=sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd \
|
||||
--hash=sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca \
|
||||
--hash=sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58 \
|
||||
--hash=sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e
|
||||
# via
|
||||
# -r /python/gen/pw_env_setup/pigweed_build_venv/compiled_requirements.txt
|
||||
# jsonschema
|
||||
# referencing
|
||||
rsa==4.8 \
|
||||
--hash=sha256:5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17 \
|
||||
--hash=sha256:95c5d300c4e879ee69708c428ba566c59478fd653cc3a22243eeb8ed846950bb
|
||||
|
@ -1212,6 +1354,7 @@ zipp==3.16.2 \
|
|||
# via
|
||||
# -r \python\gen\pw_env_setup\pigweed_build_venv\compiled_requirements.txt
|
||||
# importlib-metadata
|
||||
# importlib-resources
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==23.2.1 \
|
||||
--hash=sha256:7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be \
|
||||
|
|
|
@ -7,8 +7,6 @@ pw_env_setup_zephyr
|
|||
===================
|
||||
.. pigweed-module::
|
||||
:name: pw_env_setup_zephyr
|
||||
:tagline: Zephyr utilities
|
||||
:status: experimental
|
||||
|
||||
* **Integrate your Pigweed environment with Zephyr**
|
||||
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_format
|
|||
=========
|
||||
.. pigweed-module::
|
||||
:name: pw_format
|
||||
:tagline: String formatting
|
||||
:status: experimental
|
||||
:languages: Rust
|
||||
|
||||
``pw_format`` supports parsing ``printf`` and Rust ``core::fmt`` style format
|
||||
strings and using them to format output in languages other than C/C++.
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_function
|
|||
===========
|
||||
.. pigweed-module::
|
||||
:name: pw_function
|
||||
:tagline: Embedded-friendly std::function
|
||||
:status: stable
|
||||
:languages: C++17
|
||||
|
||||
* **Familiar**. ``pw_function`` provides a standard, general-purpose API for
|
||||
wrapping callable objects that's similar to `std::function`_.
|
||||
|
|
|
@ -5,7 +5,6 @@ pw_fuzzer: Concepts
|
|||
===================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_fuzzer
|
||||
:tagline: Better C++ code through easier fuzzing
|
||||
|
||||
Fuzzing is an approach to testing software with generated data. Guided fuzzing
|
||||
uses feedback from the code being tested, such as code coverage, to direct the
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_fuzzer
|
|||
=========
|
||||
.. pigweed-module::
|
||||
:name: pw_fuzzer
|
||||
:tagline: Better C++ code through easier fuzzing
|
||||
:status: unstable
|
||||
:languages: C++17, C++20
|
||||
|
||||
Use state of the art tools to automatically find bugs in your C++ code with 5
|
||||
lines of code or less!
|
||||
|
|
|
@ -5,7 +5,6 @@ pw_fuzzer: Adding Fuzzers Using FuzzTest
|
|||
========================================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_fuzzer
|
||||
:tagline: Better C++ code through easier fuzzing
|
||||
|
||||
.. note::
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@ pw_fuzzer: Guides
|
|||
=================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_fuzzer
|
||||
:tagline: Better C++ code through easier fuzzing
|
||||
|
||||
``pw_fuzzer`` contains detailed guides on the following topics:
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ pw_fuzzer: Adding Fuzzers Using LibFuzzer
|
|||
=========================================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_fuzzer
|
||||
:tagline: Better C++ code through easier fuzzing
|
||||
|
||||
.. note::
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ pw_fuzzer: Using OSS-Fuzz
|
|||
=============================================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_fuzzer
|
||||
:tagline: Better C++ code through easier fuzzing
|
||||
|
||||
.. TODO: b/281139237 - Update with better instructions for downstream projects.
|
||||
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_grpc
|
|||
=======
|
||||
.. pigweed-module::
|
||||
:name: pw_grpc
|
||||
:tagline: pw_rpc over gRPC
|
||||
:status: unstable
|
||||
:languages: C++17, C++20
|
||||
|
||||
``pw_grpc`` is an implementation of the gRPC over HTTP2 protocol that utilizes
|
||||
``pw_rpc`` for code generation and service hosting. It provides classes that map
|
||||
|
|
|
@ -5,7 +5,6 @@ API reference
|
|||
=============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_hdlc
|
||||
:tagline: pw_hdlc: Simple, robust, and efficient serial communication
|
||||
|
||||
The ``pw_hdlc`` API has 3 conceptual parts:
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ Design & roadmap
|
|||
================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_hdlc
|
||||
:tagline: pw_hdlc: Simple, robust, and efficient serial communication
|
||||
|
||||
.. pw_hdlc-overview-start
|
||||
|
||||
|
|
|
@ -7,10 +7,6 @@ pw_hdlc
|
|||
=======
|
||||
.. pigweed-module::
|
||||
:name: pw_hdlc
|
||||
:tagline: Simple, robust, and efficient serial communication
|
||||
:status: stable
|
||||
:languages: C++17, Python, TypeScript
|
||||
:code-size-impact: 1400 to 2600 bytes
|
||||
|
||||
- **Simple**: Transmit RPCs and other data between devices over serial
|
||||
- **Robust**: Detect corruption and data loss
|
||||
|
|
|
@ -5,7 +5,6 @@ Get started & guides
|
|||
====================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_hdlc
|
||||
:tagline: pw_hdlc: Simple, robust, and efficient serial communication
|
||||
|
||||
.. include:: design.rst
|
||||
:start-after: .. pw_hdlc-overview-start
|
||||
|
|
|
@ -5,7 +5,6 @@ RPC over HDLC example
|
|||
=====================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_hdlc
|
||||
:tagline: pw_hdlc: Simple, robust, and efficient serial communication
|
||||
|
||||
The :ref:`module-pw_hdlc` module includes an example of bringing up a
|
||||
:ref:`module-pw_rpc` server that can be used to invoke RPCs. The example code
|
||||
|
|
|
@ -7,7 +7,6 @@ Code size analysis
|
|||
==================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_hdlc
|
||||
:tagline: pw_hdlc: Simple, robust, and efficient serial communication
|
||||
|
||||
``pw_hdlc`` currently optimizes for robustness and flexibility instead of
|
||||
binary size or performance.
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_json
|
|||
=======
|
||||
.. pigweed-module::
|
||||
:name: pw_json
|
||||
:tagline: Simple, efficient C++ JSON serialization
|
||||
:status: stable
|
||||
:languages: C++
|
||||
|
||||
Use :cpp:class:`pw::JsonBuilder` to serialize JSON to a buffer. It's simple,
|
||||
safe, and efficient.
|
||||
|
|
|
@ -5,10 +5,6 @@ pw_kvs
|
|||
======
|
||||
.. pigweed-module::
|
||||
:name: pw_kvs
|
||||
:tagline: Lightweight, persistent key-value store
|
||||
:status: stable
|
||||
:languages: C++17
|
||||
:code-size-impact: ~12 kB
|
||||
|
||||
.. tab-set::
|
||||
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_multibuf
|
|||
===========
|
||||
.. pigweed-module::
|
||||
:name: pw_multibuf
|
||||
:tagline: A buffer API optimized for zero-copy messaging
|
||||
:status: unstable
|
||||
:languages: C++17
|
||||
|
||||
Sending or receiving messages via RPC, transfer, or sockets often requires a
|
||||
series of intermediate buffers, each requiring their own copy of the data.
|
||||
|
|
|
@ -6,9 +6,6 @@ pw_perf_test
|
|||
|
||||
.. pigweed-module::
|
||||
:name: pw_perf_test
|
||||
:tagline: Micro-benchmarks that are easy to write and run
|
||||
:status: unstable
|
||||
:languages: C++17
|
||||
|
||||
- **Simple**: Automatically manages boilerplate like iterations and durations.
|
||||
- **Easy**: Uses an intuitive API that resembles GoogleTest.
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_result
|
|||
=========
|
||||
.. pigweed-module::
|
||||
:name: pw_result
|
||||
:tagline: Error propagation primitives: value-or-error
|
||||
:status: stable
|
||||
:languages: C++17
|
||||
|
||||
- **Easy**: Minimal boilerplate via with ``PW_TRY_ASSIGN`` macro and chaining
|
||||
- **Reliable**: Propagate errors consistently for less bugs
|
||||
|
|
|
@ -5,7 +5,6 @@ pw_software_update: CLI reference
|
|||
---------------------------------
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_software_update
|
||||
:tagline: Secure software delivery
|
||||
|
||||
Overview
|
||||
---------
|
||||
|
|
|
@ -5,7 +5,6 @@ pw_software_update: Design
|
|||
--------------------------
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_software_update
|
||||
:tagline: Secure software delivery
|
||||
|
||||
This page explains the security framing, bundle format and update workflows of
|
||||
``pw_software_update``.
|
||||
|
|
|
@ -7,9 +7,6 @@ pw_software_update
|
|||
==================
|
||||
.. pigweed-module::
|
||||
:name: pw_software_update
|
||||
:tagline: Secure software delivery
|
||||
:status: experimental
|
||||
:languages: Python, C++17
|
||||
|
||||
The ``pw_software_update`` module offers the following building blocks for
|
||||
setting up your own end-to-end software delivery system.
|
||||
|
|
|
@ -5,7 +5,6 @@ pw_software_update: Get started
|
|||
-------------------------------
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_software_update
|
||||
:tagline: Secure software delivery
|
||||
|
||||
Hello Bundles!
|
||||
--------------
|
||||
|
|
|
@ -5,7 +5,6 @@ pw_software_update: Guide
|
|||
-------------------------
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_software_update
|
||||
:tagline: Secure software delivery
|
||||
|
||||
How you update software on an embedded system is specific to the project.
|
||||
However, there are common patterns. This section provides suggestions for
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_span
|
|||
=======
|
||||
.. pigweed-module::
|
||||
:name: pw_span
|
||||
:tagline: std::span for C++17
|
||||
:status: stable
|
||||
:languages: C++17,C++20
|
||||
|
||||
* **Standardized**: :cpp:class:`pw::span` matches C++20's `std::span
|
||||
<https://en.cppreference.com/w/cpp/container/span>`_ as closely as possible.
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_status
|
|||
=========
|
||||
.. pigweed-module::
|
||||
:name: pw_status
|
||||
:tagline: Exception-free error propagation for embedded
|
||||
:status: stable
|
||||
:languages: C++17, C, Python, Java, TypeScript, Rust
|
||||
|
||||
- **Easy**: Simple to understand, includes convenient macro ``PW_TRY``
|
||||
- **Efficient**: No memory allocation, no exceptions
|
||||
|
|
|
@ -5,7 +5,6 @@ Get started & guides
|
|||
====================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_status
|
||||
:tagline: pw_status: Exception-free error propagation for embedded
|
||||
|
||||
.. _module-pw_status-get-started:
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ Reference
|
|||
=========
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_status
|
||||
:tagline: pw_status: Exception-free error propagation for embedded
|
||||
|
||||
.. _module-pw_status-codes:
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ API Reference
|
|||
=============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_string
|
||||
:tagline: pw_string: Efficient, easy, and safe string manipulation
|
||||
|
||||
--------
|
||||
Overview
|
||||
|
|
|
@ -5,7 +5,6 @@ Code Size Analysis
|
|||
==================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_string
|
||||
:tagline: pw_string: Efficient, easy, and safe string manipulation
|
||||
|
||||
Save code space by replacing ``snprintf``
|
||||
=========================================
|
||||
|
|
|
@ -5,7 +5,6 @@ Design & Roadmap
|
|||
================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_string
|
||||
:tagline: pw_string: Efficient, easy, and safe string manipulation
|
||||
|
||||
``pw_string`` provides string classes and utility functions designed to
|
||||
prioritize safety and static allocation. The APIs are broadly similar to those
|
||||
|
|
|
@ -5,10 +5,6 @@ pw_string
|
|||
=========
|
||||
.. pigweed-module::
|
||||
:name: pw_string
|
||||
:tagline: Efficient, easy, and safe string manipulation
|
||||
:status: stable
|
||||
:languages: C++17
|
||||
:code-size-impact: 500 to 1500 bytes
|
||||
|
||||
- **Efficient**: No memory allocation, no pointer indirection.
|
||||
- **Easy**: Use the string API you already know.
|
||||
|
|
|
@ -5,7 +5,6 @@ Get Started & Guides
|
|||
====================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_string
|
||||
:tagline: pw_string: Efficient, easy, and safe string manipulation
|
||||
|
||||
.. _module-pw_string-get-started:
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ pw_tokenizer API reference
|
|||
==========================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_tokenizer
|
||||
:tagline: Compress strings to shrink logs by +75%
|
||||
|
||||
.. _module-pw_tokenizer-api-configuration:
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ Detokenization
|
|||
==============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_tokenizer
|
||||
:tagline: Compress strings to shrink logs by +75%
|
||||
|
||||
Detokenization is the process of expanding a token to the string it represents
|
||||
and decoding its arguments. ``pw_tokenizer`` provides Python, C++ and
|
||||
|
|
|
@ -5,10 +5,6 @@ pw_tokenizer
|
|||
============
|
||||
.. pigweed-module::
|
||||
:name: pw_tokenizer
|
||||
:tagline: Compress strings to shrink logs by +75%
|
||||
:status: stable
|
||||
:languages: C++, C11, Python, Rust, TypeScript, Java
|
||||
:code-size-impact: 50% reduction in log size
|
||||
|
||||
Logging is critical, but developers are often forced to choose between
|
||||
additional logging or saving crucial flash space. The ``pw_tokenizer`` module
|
||||
|
|
|
@ -5,7 +5,6 @@ Get started with pw_tokenizer
|
|||
=============================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_tokenizer
|
||||
:tagline: Compress strings to shrink logs by +75%
|
||||
|
||||
.. _module-pw_tokenizer-get-started-overview:
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ Token databases
|
|||
===============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_tokenizer
|
||||
:tagline: Compress strings to shrink logs by +75%
|
||||
|
||||
Token databases store a mapping of tokens to the strings they represent. An ELF
|
||||
file can be used as a token database, but it only contains the strings for its
|
||||
|
|
|
@ -7,7 +7,6 @@ Tokenization
|
|||
============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_tokenizer
|
||||
:tagline: Compress strings to shrink logs by +75%
|
||||
|
||||
Tokenization converts a string literal to a token. If it's a printf-style
|
||||
string, its arguments are encoded along with it. The results of tokenization can
|
||||
|
|
|
@ -5,7 +5,6 @@ API reference
|
|||
=============
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_toolchain_bazel
|
||||
:tagline: A modular toolkit for declaring C/C++ toolchains in Bazel
|
||||
|
||||
.. py:class:: pw_cc_toolchain
|
||||
|
||||
|
|
|
@ -3,12 +3,8 @@
|
|||
==================
|
||||
pw_toolchain_bazel
|
||||
==================
|
||||
|
||||
.. pigweed-module::
|
||||
:name: pw_toolchain_bazel
|
||||
:tagline: A modular toolkit for declaring C/C++ toolchains in Bazel
|
||||
:status: unstable
|
||||
:languages: Starlark
|
||||
|
||||
- **Modular**: Construct your own toolchain using shared building blocks, and
|
||||
share common flags between multiple platforms. You can even share toolchain
|
||||
|
|
|
@ -5,7 +5,6 @@ Get started with pw_toolchain_bazel
|
|||
===================================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_toolchain_bazel
|
||||
:tagline: A modular toolkit for declaring C/C++ toolchains in Bazel
|
||||
|
||||
-----------
|
||||
Quick start
|
||||
|
|
|
@ -5,9 +5,6 @@ pw_unit_test
|
|||
============
|
||||
.. pigweed-module::
|
||||
:name: pw_unit_test
|
||||
:tagline: GoogleTest for embedded
|
||||
:status: stable
|
||||
:languages: C++17
|
||||
|
||||
.. tab-set::
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ pw_watch CLI reference
|
|||
=======================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_watch
|
||||
:tagline: Embedded development file system watcher
|
||||
|
||||
.. argparse::
|
||||
:module: pw_watch.watch
|
||||
|
|
|
@ -7,8 +7,6 @@ pw_watch
|
|||
========
|
||||
.. pigweed-module::
|
||||
:name: pw_watch
|
||||
:tagline: Embedded development file system watcher
|
||||
:status: stable
|
||||
|
||||
* **Automatically trigger build actions when source files change**
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ pw_watch how-to guide
|
|||
=====================
|
||||
.. pigweed-module-subpage::
|
||||
:name: pw_watch
|
||||
:tagline: Embedded development file system watcher
|
||||
|
||||
This guide shows you how to do common ``pw_watch`` tasks.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user