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 extensible, open source tool for writing engineering documents with and emphasis on reuse. rivt includes the built-in capability to export selected sections of a private rivt file to a public rivt file for sharing and reuse. For futher details please refer to the rivt user manual.

A rivt file is a Python file (.py) that imports the rivtlib Python package and includes rivt markup. Markup publishes the file as a text, PDF or HTML doc that can be assembled and linked, with other docs, into a rivt report.

The primary use case for rivt is producing clear, accurate engineering documents that are:

  1. Easier to write and format than LaTeX, Excel, Word or other general purpose word processors.

  2. Do not need to be formatted to the precise standards of a formal journal publication.

Specific examples include:

  1. internal communication

  2. research documentation

  3. government permits

  4. technical reports

  5. funding applications

  6. teaching

  7. presentations

rivt can:

  1. function as a front and back end for external software.

  2. be used for real time collaboration.

The table below compares limitations between different software programs. rivt is designed to address these limitations and serve as a complement or replacement to existing software.

Software Comparison

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:  5761
================================================================================

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

IMPORTS:
- import argparse
- import fnmatch
- import glob
- import logging
- import os
- import shutil
- import subprocess
- 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, rvtext

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
- cmdhelp() -> 12 lines
- doc_parse() -> 32 lines
- R() -> 78 lines
- I() -> 36 lines
- V() -> 46 lines
- T() -> 31 lines
- D() -> 12 lines
- S() -> 9 lines
- X() -> 11 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: 1157================================================================================

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 (1134 lines total)
    └─ Method: __init__() -> 35 lines
    └─ Method: cmdx() -> 13 lines
    └─ Method: vdefine() -> 56 lines
    └─ Method: vassign() -> 113 lines
    └─ Method: vfunc() -> 114 lines
    └─ Method: vcompare() -> 122 lines
    └─ Method: TEXT() -> 48 lines
    └─ Method: RUNFILE() -> 47 lines
    └─ Method: IMAGE() -> 54 lines
    └─ Method: IMAGE2() -> 77 lines
    └─ Method: TABLE() -> 80 lines
    └─ Method: VALTABLE() -> 94 lines
    └─ Method: PYTHON() -> 75 lines
    └─ Method: FUNCTION() -> 82 lines
    └─ Method: wrap_pad() -> 15 lines
    └─ Method: get_image_time() -> 57 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: 721
================================================================================

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() -> 144 lines
- pdf_yamlS() -> 420 lines
- html_templ() -> 41 lines
- html_confpy() -> 81 lines
================================================================================

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

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 (387 lines total)
    └─ Method: __init__() -> 150 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: 517
================================================================================

IMPORTS:
- import configparser
- import glob
- import logging
- import os
- 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\rvtag.py   | Total Lines: 478
================================================================================

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

CLASSES & METHODS:
    Class: Tag (460 lines total)
    └─ Method: __init__() -> 23 lines
    └─ Method: taglx() -> 157 lines
    └─ Method: tagbx() -> 178 lines
    └─ Method: build_transcript() -> 66 lines
    └─ Method: parse_simple_rst_table() -> 24 lines

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

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

IMPORTS:
- import textwrap

CLASSES & METHODS:

TOP-LEVEL FUNCTIONS:
- typex() -> 14 lines
- pythonx() -> 2 lines
- endnotesx() -> 42 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.0a14.tar.gz (55.9 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.0a14-py3-none-any.whl (68.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rivtlib-1.0.0a14.tar.gz
  • Upload date:
  • Size: 55.9 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.0a14.tar.gz
Algorithm Hash digest
SHA256 3fb169b155975df3e73b895d8244b1bd4b6d0a12d96fde564f2bf335cc3321dd
MD5 d161e8fa7672d00e09625c4c1af8d18e
BLAKE2b-256 8bbedf4aadb0ba9510f270c9bc9e7b3a577c26f610f152729ddfb7b3d69eb573

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rivtlib-1.0.0a14-py3-none-any.whl
  • Upload date:
  • Size: 68.1 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.0a14-py3-none-any.whl
Algorithm Hash digest
SHA256 fb9523d867b4308af26fa40bfc293eb424b24f4c9b4b31cf506be5c8d0d0c610
MD5 381d31e4782662ba65c1d61a5c581fbd
BLAKE2b-256 e1370169a0c011b25a8fd3fcbf0d98bb77cc0f39f0d24e91964823f8f238c86d

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