Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

rivtlib is alpha software. Some features are not complete and the program has bugs.

rivt is an open-source program for writing and assembling calculation documents with a focus on reuse. Many engineering calculation software tools are available but few or none allow live documents to be assembled and connected to essentially all of the existing tools. Also, rivt’s straightforward markup language facilitates conversion of any PDF or text to a live calculation document that can then be modified or extended. Python knowledge is not required but rivt capabilities are increased when Python scientific and engineering libraries and scripts are used. For further details refer to the rivt user manual.

The primary use case for rivt is producing clear, live calculation documents that can be easily shared, reused and maintained. The table below compares limitations in current software programs that rivt is designed to complement or replace.

Software Comparison (commercial programs in italics)

Program

Reprt [1]

Ver [2]

Txt [3]

Priv [4]

Unts [5]

Comp [6]

C-P [7]

Coll [8]

Pub [9]

Matlab

no

no

no

no

no

no

no

no

yes

Mathcad

no

no

no

no

no

no

no

no

no

Mathematica

no

no

no

no

no

no

no

no

yes

Cloud SaaS

limited

no

no

no

no

no

yes

limited

limited

Excel

limited

no

no

no

no

yes

no

yes

yes

Jupyter

no

no

no

no

no

yes

yes

yes

yes

Quarto

yes

yes

no

no

no

no

yes

yes

yes

rivt

yes

yes

yes

yes

yes

yes

yes

yes

yes

Modules - Summary

================================================================================
Total Project Line Count:  6035
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvapi.py   | Total Lines: 493
================================================================================

IMPORTS:
- import argparse
- import fnmatch
- import logging
- import os
- import string
- import sys
- import warnings
- from importlib.metadata import version
- from pathlib import Path
- import __main__
- import rivtlib.rvunits as rvunit
- from rivtlib import rvdoc, rvparse, rvshell, rvtext

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
- cmdhelp() -> 12 lines
- doc_parse() -> 29 lines
- R() -> 26 lines
- I() -> 22 lines
- V() -> 45 lines
- T() -> 60 lines
- D() -> 11 lines
- S() -> 9 lines
- X() -> 7 lines
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvbook.py   | Total Lines: 327
================================================================================

IMPORTS:
- import configparser
- import glob
- import logging
- import os
- import subprocess
- import sys
- import textwrap
- import warnings
- from datetime import datetime
- from pathlib import Path
- import __main__
- import rvrepcfg as rvb

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
- pdfx() -> 88 lines
- txtx() -> 29 lines
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvcmd.py   | Total Lines: 1284
================================================================================

IMPORTS:
- import csv
- import sys
- import textwrap
- from datetime import datetime
- from io import StringIO
- from pathlib import Path
- import numpy as np
- import pandas as pd
- import sympy as sp
- import tabulate
- from fastcore.utils import store_attr
- from IPython.display import display as _display
- from PIL import Image
- from sympy.abc import _clash2
- from rivtlib.rvunits import *
- from rivtlib.unum.core import Unum

CLASSES & METHODS:
    Class: Cmd (1261 lines total)
    └─ Method: __init__() -> 28 lines
    └─ Method: cmdx() -> 13 lines
    └─ Method: vdefine() -> 56 lines
    └─ Method: vassign() -> 113 lines
    └─ Method: vfunc() -> 115 lines
    └─ Method: vcompare() -> 123 lines
    └─ Method: wrap_pad() -> 15 lines
    └─ Method: get_image_time() -> 57 lines
    └─ Method: IMAGE() -> 62 lines
    └─ Method: IMAGE2() -> 85 lines
    └─ Method: TABLE() -> 85 lines
    └─ Method: VALTABLE() -> 101 lines
    └─ Method: VALDATA() -> 101 lines
    └─ Method: PYTHON() -> 81 lines
    └─ Method: FUNCTION() -> 83 lines
    └─ Method: TEXT() -> 92 lines

TOP-LEVEL FUNCTIONS:
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvdoc.py   | Total Lines: 548
================================================================================

IMPORTS:
- import configparser
- import glob
- import logging
- import os
- import shutil
- import subprocess
- import warnings
- from datetime import datetime
- from pathlib import Path
- import rvdoccfg as rvd
- from fastcore.utils import store_attr
- import __main__

CLASSES & METHODS:
    Class: Cmdp (528 lines total)
    └─ Method: __init__() -> 88 lines
    └─ Method: cmdx() -> 84 lines
    └─ Method: metadatax() -> 33 lines
    └─ Method: attachpdfx() -> 5 lines
    └─ Method: pdfx() -> 27 lines
    └─ Method: pdf_insert() -> 141 lines
    └─ Method: htmlx() -> 38 lines
    └─ Method: txtx() -> 24 lines
    └─ Method: nonex() -> 17 lines
    └─ Method: docreadme() -> 36 lines

TOP-LEVEL FUNCTIONS:
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvdoccfg.py   | Total Lines: 726
================================================================================

IMPORTS:
- import glob
- import os
- import shutil
- from datetime import datetime
- from pathlib import Path

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
- copy_docs() -> 11 lines
- pdf_confpy() -> 145 lines
- pdf_yamlS() -> 424 lines
- html_templ() -> 41 lines
- html_confpy() -> 81 lines
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvparse.py   | Total Lines: 406
================================================================================

IMPORTS:
- import logging
- import os
- import re
- import sys
- import textwrap
- import warnings
- from io import StringIO
- from pathlib import Path
- import tabulate
- from fastcore.utils import store_attr
- import __main__
- from . import rvcmd, rvtag

CLASSES & METHODS:
    Class: Rs (384 lines total)
    └─ Method: __init__() -> 147 lines
    └─ Method: prt_tabl() -> 22 lines
    └─ Method: remove_aster() -> 10 lines
    └─ Method: content() -> 198 lines

TOP-LEVEL FUNCTIONS:
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvrepcfg.py   | Total Lines: 790
================================================================================

IMPORTS:
- import glob
- import os
- import shutil
- from pathlib import Path

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
- copy_docs() -> 10 lines
- pdf_confpy() -> 146 lines
- pdf_yamlS() -> 402 lines
- pdf_coverS() -> 68 lines
- html_confpy() -> 81 lines
- html_index() -> 57 lines
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvreport.py   | Total Lines: 518
================================================================================

IMPORTS:
- import configparser
- import glob
- import logging
- import os
- import shutil
- import subprocess
- import sys
- import textwrap
- import warnings
- from datetime import datetime
- from itertools import groupby
- from pathlib import Path
- import __main__
- import rvrepcfg as rvr

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
- pdfx() -> 92 lines
- htmlx() -> 155 lines
- txtx() -> 40 lines
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvshell.py   | Total Lines: 93
================================================================================

IMPORTS:
- import glob
- import os
- import shutil
- import subprocess
- import textwrap
- from pathlib import Path

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
- run_shell() -> 85 lines
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvtag.py   | Total Lines: 379
================================================================================

IMPORTS:
- import csv
- import textwrap
- from pathlib import Path
- import docutils.parsers.rst.tableparser
- import sympy as sp
- import tabulate
- from fastcore.utils import store_attr
- from numpy import *
- from sympy.abc import _clash2

CLASSES & METHODS:
    Class: Tag (365 lines total)
    └─ Method: __init__() -> 23 lines
    └─ Method: taglx() -> 160 lines
    └─ Method: tagbx() -> 147 lines
    └─ Method: parse_simple_rst_table() -> 24 lines

TOP-LEVEL FUNCTIONS:
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvtext.py   | Total Lines: 266
================================================================================

IMPORTS:
- import ast
- import io
- import sys
- import textwrap
- from pathlib import Path
- from docutils.core import publish_parts

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
- build_transcript() -> 67 lines
- format_text() -> 166 lines
- mermaidx() -> 2 lines
- dotx() -> 2 lines
- latexx() -> 2 lines
- htmlx() -> 2 lines
- rstx() -> 2 lines
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\rvunits.py   | Total Lines: 141
================================================================================

IMPORTS:
- import importlib.util
- import sys
- from pathlib import Path
- from rivtlib.unum.core import Unum, new_unit

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\__init__.py   | Total Lines: 60
================================================================================

IMPORTS:

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
================================================================================

================================================================================
Module Name: C:\git\rivtlib-git\src\rivtlib\__main__.py   | Total Lines: 4
================================================================================

IMPORTS:

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
================================================================================

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rivtlib-1.0.0a17.tar.gz (57.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rivtlib-1.0.0a17-py3-none-any.whl (69.6 kB view details)

Uploaded Python 3

File details

Details for the file rivtlib-1.0.0a17.tar.gz.

File metadata

  • Download URL: rivtlib-1.0.0a17.tar.gz
  • Upload date:
  • Size: 57.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for rivtlib-1.0.0a17.tar.gz
Algorithm Hash digest
SHA256 16f86934514b42e368ab7990df25d4ad21796e147f37088d10ec61fff2407eea
MD5 921e7f6e9180666e621867523b16b00c
BLAKE2b-256 9518f9069401d778f0425e3ffa5c7ba8b70875087fabc114c6a6dc5e4c06e01a

See more details on using hashes here.

File details

Details for the file rivtlib-1.0.0a17-py3-none-any.whl.

File metadata

  • Download URL: rivtlib-1.0.0a17-py3-none-any.whl
  • Upload date:
  • Size: 69.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for rivtlib-1.0.0a17-py3-none-any.whl
Algorithm Hash digest
SHA256 237a6e19f3c5a03bd427cd8490c994c3f85741211c6d6385aa897ef8b69db16c
MD5 af6cf2cc20ec876c807d4ad30d632759
BLAKE2b-256 9563b90c6592fd137deb9255fb9f88c39cc721d0429da56b81792f16ad07fb91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page