Sphinx-Needs Timing Measurement: Sphinx-Needs

Build Duration: 119.38s       Build timestamp: 2023-11-16T13:31:29.641215       Elements: 17

Overview

# Function Category Source Overall [s] Average [s] Min [s] Max [s] Amount Min/Max spread [%] Ratio build time[%]
1 calc_sum dyn_func user 0.0063836 0.0015959 0.0000104 0.0058718 4 56470.5 0.01
2 check_linked_values dyn_func user 0.0004479 0.0000746 0.0000032 0.0004245 6 13362.6 0.00
3 copy dyn_func user 0.0014287 0.0000714 0.0000007 0.0014047 20 189308.8 0.00
4 echo dyn_func user 0.0000017 0.0000009 0.0000008 0.0000010 2 121.9 0.00
5 links_from_content dyn_func user 0.0001875 0.0000937 0.0000100 0.0001775 2 1770.7 0.00
6 test dyn_func user 0.0000073 0.0000073 0.0000073 0.0000073 1 100.0 0.00
7 filter_needs filtering internal 0.1387113 0.0011856 0.0000013 0.0213645 117 1682240.0 0.12
8 filter_single_need filtering internal 0.0947583 0.0000055 0.0000034 0.0008256 17206 23965.2 0.08
9 build_need need internal 1.4197589 0.0063953 0.0022938 0.1872869 222 8165.0 1.19
10 create_need need internal 0.0343208 0.0085802 0.0074294 0.0093582 4 126.0 0.03
11 post_process_needs_data need_post_process internal 0.0896390 0.0020372 0.0000024 0.0894815 44 3679336.3 0.08
12 run need internal 0.1233856 0.0005634 0.0000533 0.0046046 219 8643.6 0.10
13 process_needflow needflow internal 0.0246423 0.0049285 0.0014262 0.0160937 5 1128.4 0.02
14 run needflow internal 0.0008634 0.0000576 0.0000401 0.0001064 15 265.2 0.00
15 process_needpie needpie internal 0.4145725 0.4145725 0.4145725 0.4145725 1 100.0 0.35
16 process_needtables needtable internal 1.1411020 0.1426377 0.0127424 0.4107923 8 3223.8 0.96
17 process_needuml needuml internal 0.1042366 0.0347455 0.0015346 0.0663121 3 4321.2 0.09

Details

build_need
(need, internal)

Amount 222.00000
Overall [s] 1.41976
Average [s] 0.00640
Min [s] 0.00229
Max [s] 0.18729
Min-Max spread [%] 8165.01437
Ratio build time [%] 1.19
Max run analysis

Max: 0.18728689500039764

args

['clean', '<Need classes="need need-req" ids="extend_test_004" refid="extend_test_004"><par', '<sphinx.application.Sphinx object at 0x7f521815b750>']

kwargs

{'fromdocname': 'directives/needextend'}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/layout.py

Line: 127

Function docs


Builds a need based on a given layout for a given need-node.

The created table must have the following docutils structure::

- table
-- tgroup
--- colspec (partial used)
--- thead (not used)
--- tbody
---- row
----- entry
------ custom layout nodes

The level structure must be kept, otherwise docutils can not handle it!

calc_sum
(dyn_func, user)

Amount 4.00000
Overall [s] 0.00638
Average [s] 0.00160
Min [s] 0.00001
Max [s] 0.00587
Min-Max spread [%] 56470.50841
Ratio build time [%] 0.01
Max run analysis

Max: 0.005871802999536158

args

['<sphinx.application.Sphinx object at 0x7f521815b750>', "{'docname': 'dynamic_functions', 'doctype': '.calc_sum', 'lineno': 47, 'target_i", "{'xyz_123': {'docname': 'configuration', 'doctype': '.rst', 'lineno': 203, 'targ", 'hours', 'hours.isdigit() and float(hours) > 10']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/functions/common.py

Line: 335

Function docs


Sums the values of a given option in filtered needs up to single number.

Useful e.g. for calculating the amount of needed hours for implementation of all linked
specification needs.


**Input data**

.. spec:: Do this
:id: sum_input_1
:hours: 7
:collapse: False

.. spec:: Do that
:id: sum_input_2
:hours: 15
:collapse: False

.. spec:: Do too much
:id: sum_input_3
:hours: 110
:collapse: False

**Example 2**

.. code-block:: jinja

.. req:: Result 1
:amount: [[calc_sum("hours")]]

.. req:: Result 1
:amount: [[calc_sum("hours")]]
:collapse: False


**Example 2**

.. code-block:: jinja

.. req:: Result 2
:amount: [[calc_sum("hours", "hours.isdigit() and float(hours) > 10")]]

.. req:: Result 2
:amount: [[calc_sum("hours", "hours.isdigit() and float(hours) > 10")]]
:collapse: False

**Example 3**

.. code-block:: jinja

.. req:: Result 3
:links: sum_input_1; sum_input_3
:amount: [[calc_sum("hours", links_only="True")]]

.. req:: Result 3
:links: sum_input_1; sum_input_3
:amount: [[calc_sum("hours", links_only="True")]]
:collapse: False

**Example 4**

.. code-block:: jinja

.. req:: Result 4
:links: sum_input_1; sum_input_3
:amount: [[calc_sum("hours", "hours.isdigit() and float(hours) > 10", "True")]]

.. req:: Result 4
:links: sum_input_1; sum_input_3
:amount: [[calc_sum("hours", "hours.isdigit() and float(hours) > 10", "True")]]
:collapse: False

:param option: Options, from which the numbers shall be taken
:param filter: Filter string, which all needs must passed to get their value added.
:param links_only: If "True", only linked needs are taken into account.

:return: A float number

check_linked_values
(dyn_func, user)

Amount 6.00000
Overall [s] 0.00045
Average [s] 0.00007
Min [s] 0.00000
Max [s] 0.00042
Min-Max spread [%] 13362.63940
Ratio build time [%] 0.00
Max run analysis

Max: 0.0004245310001351754

args

['<sphinx.application.Sphinx object at 0x7f521815b750>', "{'docname': 'dynamic_functions', 'doctype': '.check_linked_values', 'lineno': 89", "{'xyz_123': {'docname': 'configuration', 'doctype': '.rst', 'lineno': 203, 'targ", 'progress', 'status', 'in progress', 'type == "req" ']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/functions/common.py

Line: 171

Function docs


Returns a specific value, if for all linked needs a given option has a given value.

The linked needs can be filtered by using the ``filter`` option.

If ``one_hit`` is set to True, only one linked need must have a positive match for the searched value.

**Examples**

**Needs used as input data**

.. code-block:: jinja

.. req:: Input A
:id: clv_A
:status: in progress

.. req:: Input B
:id: clv_B
:status: in progress

.. spec:: Input C
:id: clv_C
:status: closed

.. req:: Input A
:id: clv_A
:status: in progress
:collapse: False

.. req:: Input B
:id: clv_B
:status: in progress
:collapse: False

.. spec:: Input C
:id: clv_C
:status: closed
:collapse: False


**Example 1: Positive check**

Status gets set to *progress*.

.. code-block:: jinja

.. spec:: result 1: Positive check
:links: clv_A, clv_B
:status: [[check_linked_values('progress', 'status', 'in progress' )]]

.. spec:: result 1: Positive check
:id: clv_1
:links: clv_A, clv_B
:status: [[check_linked_values('progress', 'status', 'in progress' )]]
:collapse: False


**Example 2: Negative check**

Status gets not set to *progress*, because status of linked need *clv_C* does not match *"in progress"*.

.. code-block:: jinja

.. spec:: result 2: Negative check
:links: clv_A, clv_B, clv_C
:status: [[check_linked_values('progress', 'status', 'in progress' )]]

.. spec:: result 2: Negative check
:id: clv_2
:links: clv_A, clv_B, clv_C
:status: [[check_linked_values('progress', 'status', 'in progress' )]]
:collapse: False


**Example 3: Positive check thanks of used filter**

status gets set to *progress*, because linked need *clv_C* is not part of the filter.

.. code-block:: jinja

.. spec:: result 3: Positive check thanks of used filter
:links: clv_A, clv_B, clv_C
:status: [[check_linked_values('progress', 'status', 'in progress', 'type == "req" ' )]]

.. spec:: result 3: Positive check thanks of used filter
:id: clv_3
:links: clv_A, clv_B, clv_C
:status: [[check_linked_values('progress', 'status', 'in progress', 'type == "req" ' )]]
:collapse: False

**Example 4: Positive check thanks of one_hit option**

Even *clv_C* has not the searched status, status gets anyway set to *progress*.
That's because ``one_hit`` is used so that only one linked need must have the searched
value.

.. code-block:: jinja

.. spec:: result 4: Positive check thanks of one_hit option
:links: clv_A, clv_B, clv_C
:status: [[check_linked_values('progress', 'status', 'in progress', one_hit=True )]]

.. spec:: result 4: Positive check thanks of one_hit option
:id: clv_4
:links: clv_A, clv_B, clv_C
:status: [[check_linked_values('progress', 'status', 'in progress', one_hit=True )]]
:collapse: False

**Result 5: Two checks and a joint status**
Two checks are performed and both are positive. So their results get joined.

.. code-block:: jinja

.. spec:: result 5: Two checks and a joint status
:links: clv_A, clv_B, clv_C
:status: [[check_linked_values('progress', 'status', 'in progress', one_hit=True )]] [[check_linked_values('closed', 'status', 'closed', one_hit=True )]]

.. spec:: result 5: Two checks and a joint status
:id: clv_5
:links: clv_A, clv_B, clv_C
:status: [[check_linked_values('progress', 'status', 'in progress', one_hit=True )]] [[check_linked_values('closed', 'status', 'closed', one_hit=True )]]
:collapse: False

:param result: value, which gets returned if all linked needs have parsed the checks
:param search_option: option name, which is used n linked needs for the search
:param search_value: value, which an option of a linked need must match
:param filter_string: Checks are only performed on linked needs, which pass the defined filter
:param one_hit: If True, only one linked need must have a positive check
:return: result, if all checks are positive

copy
(dyn_func, user)

Amount 20.00000
Overall [s] 0.00143
Average [s] 0.00007
Min [s] 0.00000
Max [s] 0.00140
Min-Max spread [%] 189308.77111
Ratio build time [%] 0.00
Max run analysis

Max: 0.001404670000738406

args

['<sphinx.application.Sphinx object at 0x7f521815b750>', "{'docname': 'dynamic_functions', 'doctype': '.copy', 'lineno': 67, 'target_id': ", "{'xyz_123': {'docname': 'configuration', 'doctype': '.rst', 'lineno': 203, 'targ", 'title']

kwargs

{'filter': 'current_need["sections"][-1]==sections[-1]'}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/functions/common.py

Line: 60

Function docs


Copies the value of one need option to another

.. code-block:: jinja

.. req:: copy-example
:id: copy_1
:tags: tag_1, tag_2, tag_3
:status: open

.. spec:: copy-example implementation
:id: copy_2
:status: [[copy("status", "copy_1")]]
:links: copy_1
:comment: [[copy("id")]]

Copies status of ``copy_1`` to own status.
Sets also a comment, which copies the id of own need.

.. test:: test of specification and requirement
:id: copy_3
:links: copy_2; [[copy('links', 'copy_2')]]
:tags: [[copy('tags', 'copy_1')]]

Set own link to ``copy_2`` and also copies all links from it.

Also copies all tags from copy_1.

.. req:: copy-example
:id: copy_1
:tags: tag_1, tag_2, tag_3
:status: open

.. spec:: copy-example implementation
:id: copy_2
:status: [[copy("status", "copy_1")]]
:links: copy_1
:comment: [[copy("id")]]

Copies status of ``copy_1`` to own status.
Sets also a comment, which copies the id of own need.

.. test:: test of specification and requirement
:id: copy_3
:links: copy_2; [[copy('links', 'copy_2')]]
:tags: [[copy('tags', 'copy_1')]]

Set own link to ``copy_2`` and also copies all links from it.

Also copies all tags from copy_1.

If the filter_string needs to compare a value from the current need and the value is unknown yet,
you can reference the valued field by using ``current_need["my_field"]`` inside the filter string.
Small example::

.. test:: test of current_need value
:id: copy_4

The es the title of the first need found under the same highest
section (headline):

[[copy('title', filter='current_need["sections"][-1]==sections[-1]')]]

.. test:: test of current_need value
:id: copy_4

The following copy command copies the title of the first need found under the same highest
section (headline):

[[copy('title', filter='current_need["sections"][-1]==sections[-1]')]]

This filter possibilities get really powerful in combination with :ref:`needs_global_options`.


:param option: Name of the option to copy
:param need_id: id of the need, which contains the source option. If None, current need is taken
:param upper: Is set to True, copied value will be uppercase
:param lower: Is set to True, copied value will be lowercase
:param filter: :ref:`filter_string`, which first result is used as copy source.
:return: string of copied need option

create_need
(need, internal)

Amount 4.00000
Overall [s] 0.03432
Average [s] 0.00858
Min [s] 0.00743
Max [s] 0.00936
Min-Max spread [%] 125.96180
Ratio build time [%] 0.03
Max run analysis

Max: 0.009358245999464998

args

['FEATURE_3', '<sphinx.application.Sphinx object at 0x7f521815b750>']

kwargs

{'layout': 'None', 'style': 'blue_border', 'docname': 'directives/needextract'}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/layout.py

Line: 31

Function docs


Creates a new need-node for a given layout.

Need must already exist in internal dictionary.
This creates a new representation only.
:param need_id: need id
:param app: sphinx application
:param layout: layout to use, overrides layout set by need itself
:param style: style to use, overrides styles set by need itself
:param docname: Needed for calculating references
:return:

echo
(dyn_func, user)

Amount 2.00000
Overall [s] 0.00000
Average [s] 0.00000
Min [s] 0.00000
Max [s] 0.00000
Min-Max spread [%] 121.89494
Ratio build time [%] 0.00
Max run analysis

Max: 9.51999936660286e-07

args

['<sphinx.application.Sphinx object at 0x7f521815b750>', "{'id': 'need_func_dummy'}", "{'xyz_123': {'docname': 'configuration', 'doctype': '.rst', 'lineno': 203, 'targ", 'first']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/functions/common.py

Line: 41

Function docs


.. versionadded:: 0.6.3

Just returns the given string back.
Mostly useful for tests.

.. code-block:: jinja

A nice :need_func:`[[echo("first")]] test` for need_func.

**Result**: A nice :need_func:`[[echo("first")]] test` for need_func.

filter_needs
(filtering, internal)

Amount 117.00000
Overall [s] 0.13871
Average [s] 0.00119
Min [s] 0.00000
Max [s] 0.02136
Min-Max spread [%] 1682239.95581
Ratio build time [%] 0.12
Max run analysis

Max: 0.02136445099949924

args

["dict_values([{'docname': 'configuration', 'doctype': '.rst', 'lineno': 203, 'tar", "NeedsSphinxConfig(types=[{'directive': 'int', 'title': 'Interface', 'content': '", 'id == "extend_test_001"']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/filter_common.py

Line: 258

Function docs


Filters given needs based on a given filter string.
Returns all needs, which pass the given filter.

:param needs: list of needs, which shall be filtered
:param config: NeedsSphinxConfig object
:param filter_string: strings, which gets evaluated against each need
:param current_need: current need, which uses the filter.

:return: list of found needs

filter_single_need
(filtering, internal)

Amount 17206.00000
Overall [s] 0.09476
Average [s] 0.00001
Min [s] 0.00000
Max [s] 0.00083
Min-Max spread [%] 23965.19315
Ratio build time [%] 0.08
Max run analysis

Max: 0.0008256010005425196

args

["{'docname': 'directives/needsequence', 'doctype': '.rst', 'lineno': 51, 'target_", "NeedsSphinxConfig(types=[{'directive': 'int', 'title': 'Interface', 'content': '", '"Expert" not in title']

kwargs

{'needs': "dict_values([{'docname': 'configuration', 'doctype': '.rst', 'lineno': 203, 'tar"}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/filter_common.py

Line: 299

Function docs


Checks if a single need/need_part passes a filter_string

:param need: the data for a single need
:param config: NeedsSphinxConfig object
:param filter_compiled: An already compiled filter_string to safe time
:param need: need or need_part
:param filter_string: string, which is used as input for eval()
:param needs: list of all needs
:return: True, if need passes the filter_string, else False
Amount 2.00000
Overall [s] 0.00019
Average [s] 0.00009
Min [s] 0.00001
Max [s] 0.00018
Min-Max spread [%] 1770.68743
Ratio build time [%] 0.00
Max run analysis

Max: 0.00017747600031725597

args

['<sphinx.application.Sphinx object at 0x7f521815b750>', "{'docname': 'dynamic_functions', 'doctype': '.links_from_content', 'lineno': 19,", "{'xyz_123': {'docname': 'configuration', 'doctype': '.rst', 'lineno': 203, 'targ"]

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/functions/common.py

Line: 443

Function docs


Extracts links from content of a need.

All need-links set by using ``:need:`NEED_ID``` get extracted.

Same links are only added once.

Example:

.. req:: Requirement 1
:id: CON_REQ_1

.. req:: Requirement 2
:id: CON_REQ_2

.. spec:: Test spec
:id: CON_SPEC_1
:links: [[links_from_content()]]

This specification cares about the realisation of:

* :need:`CON_REQ_1`
* :need:`My need `

.. spec:: Test spec 2
:id: CON_SPEC_2
:links: [[links_from_content('CON_SPEC_1')]]

Links retrieved from content of :need:`CON_SPEC_1`

Used code of **CON_SPEC_1**::

.. spec:: Test spec
:id: CON_SPEC_1
:links: [[links_from_content()]]

This specification cares about the realisation of:

* :need:`CON_REQ_1`
* :need:`CON_REQ_2`

.. spec:: Test spec 2
:id: CON_SPEC_2
:links: [[links_from_content('CON_SPEC_1')]]

Links retrieved from content of :need:`CON_SPEC_1`

:param need_id: ID of need, which provides the content. If not set, current need is used.
:param filter: :ref:`filter_string`, which a found need-link must pass.
:return: List of linked need-ids in content

post_process_needs_data
(need_post_process, internal)

Amount 44.00000
Overall [s] 0.08964
Average [s] 0.00204
Min [s] 0.00000
Max [s] 0.08948
Min-Max spread [%] 3679336.30199
Ratio build time [%] 0.08
Max run analysis

Max: 0.08948148299987224

args

['<sphinx.application.Sphinx object at 0x7f521815b750>']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/directives/need.py

Line: 359

Function docs

In-place post-processing of needs data.

This should be called after all needs (and extend) data has been collected.

This function is idempotent;
it will only be run on the first call, and will not be run again.

After this function has been run, one should assume that the needs data is finalised,
and so in principle should be treated as read-only.

process_needflow
(needflow, internal)

Amount 5.00000
Overall [s] 0.02464
Average [s] 0.00493
Min [s] 0.00143
Max [s] 0.01609
Min-Max spread [%] 1128.40317
Ratio build time [%] 0.02
Max run analysis

Max: 0.016093680999802018

args

['<sphinx.application.Sphinx object at 0x7f521815b750>', '<document source="/home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/', 'directives/needflow', '[<Needflow: >, <Needflow: >, <Needflow: >, <Needflow: >, <Needflow: >, <Needflow']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/directives/needflow.py

Line: 277

Function docs

None

process_needpie
(needpie, internal)

Amount 1.00000
Overall [s] 0.41457
Average [s] 0.41457
Min [s] 0.41457
Max [s] 0.41457
Min-Max spread [%] 100.00000
Ratio build time [%] 0.35
Max run analysis

Max: 0.4145725090002088

args

['<sphinx.application.Sphinx object at 0x7f521815b750>', '<document source="/home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/', 'directives/needpie', '[<Needpie: >, <Needpie: >, <Needpie: >, <Needpie: >, <Needpie: >, <Needpie: >, <']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/directives/needpie.py

Line: 103

Function docs

None

process_needtables
(needtable, internal)

Amount 8.00000
Overall [s] 1.14110
Average [s] 0.14264
Min [s] 0.01274
Max [s] 0.41079
Min-Max spread [%] 3223.81010
Ratio build time [%] 0.96
Max run analysis

Max: 0.41079232599986426

args

['<sphinx.application.Sphinx object at 0x7f521815b750>', '<document source="/home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/', 'filter', '[<Needtable: >, <Needtable: >, <Needtable: >]']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/directives/needtable.py

Line: 113

Function docs


Replace all needtables nodes with a table of filtered nodes.

process_needuml
(needuml, internal)

Amount 3.00000
Overall [s] 0.10424
Average [s] 0.03475
Min [s] 0.00153
Max [s] 0.06631
Min-Max spread [%] 4321.20058
Ratio build time [%] 0.09
Max run analysis

Max: 0.066312107000158

args

['<sphinx.application.Sphinx object at 0x7f521815b750>', '<document source="/home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/', 'directives/needarch', '[<Needuml: >, <Needuml: >, <Needuml: >, <Needuml: >, <Needuml: >, <Needuml: >]']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/directives/needuml.py

Line: 407

Function docs

None

run
(need, internal)

Amount 219.00000
Overall [s] 0.12339
Average [s] 0.00056
Min [s] 0.00005
Max [s] 0.00460
Min-Max spread [%] 8643.55578
Ratio build time [%] 0.10
Max run analysis

Max: 0.004604595000273548

args

['<sphinx_needs.directives.need.NeedDirective object at 0x7f5214c73390>']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/directives/need.py

Line: 71

Function docs

None

run
(needflow, internal)

Amount 15.00000
Overall [s] 0.00086
Average [s] 0.00006
Min [s] 0.00004
Max [s] 0.00011
Min-Max spread [%] 265.20493
Ratio build time [%] 0.00
Max run analysis

Max: 0.00010637899958965136

args

['<sphinx_needs.directives.needflow.NeedflowDirective object at 0x7f5215780110>']

kwargs

{}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/directives/needflow.py

Line: 63

Function docs

None

test
(dyn_func, user)

Amount 1.00000
Overall [s] 0.00001
Average [s] 0.00001
Min [s] 0.00001
Max [s] 0.00001
Min-Max spread [%] 100.00000
Ratio build time [%] 0.00
Max run analysis

Max: 7.348000508500263e-06

args

['<sphinx.application.Sphinx object at 0x7f521815b750>', "{'docname': 'dynamic_functions', 'doctype': '.test', 'lineno': 15, 'target_id': ", "{'xyz_123': {'docname': 'configuration', 'doctype': '.rst', 'lineno': 203, 'targ", 'arg_1', '[1, 2, 3]']

kwargs

{'my_keyword': 'awesome'}
Show Meta Data

File: /home/docs/checkouts/readthedocs.org/user_builds/sphinx-needs/envs/latest/lib/python3.11/site-packages/sphinx_needs/functions/common.py

Line: 20

Function docs


Test function for dynamic functions in sphinx needs.

Collects every given args and kwargs and returns a single string, which contains their values/keys.

.. code-block:: jinja

.. req:: test requirement

[[test('arg_1', [1,2,3], my_keyword='awesome')]]

.. req:: test requirement

[[test('arg_1', [1,2,3], my_keyword='awesome')]]

:return: single test string