Argumentari 🗣️
Argumentari is a lightweight, cross-platform Python package for constructing, serializing, manipulating, and visualizing structured argument data.
Build argument trees, apply formal reasoning schemes, and interactively analyze debate structures.
Features
- Define argument nodes (
premise,conclusion) and build trees - Manipulate arguments: add, move, clone, edit, prune and collapse nodes
- Visualize argument graphs interactively
- Register and use formal argumentation schemes (e.g., Authority, Causal)
- Find and replace nodes by text or scheme
- Serialize and deserialize argument trees
- Cross-platform: Linux, macOS, Windows
- Simple API for integration into your projects
Usage
Create and manipulate an argument tree
from argumentari.nodes import premise, conclusion
from argumentari.tree import argumentTree
from argumentari.manipulation import (
addNode, removeNode, replaceNode, moveSubtree,
editNode, cloneSubtree, findNodes, pruneNode, collapseSubtree
)
root = premise("Electric cars reduce emissions.")
child1 = premise("EVs produce no exhaust.")
child2 = premise("Fossil fuels are the main source of carbon emissions.")
concl = conclusion("Adopting EVs will decrease fossil fuel use.")
addNode(root, child1)
addNode(child1, child2)
addNode(child2, concl)
tree = argumentTree(root)
Manipulate argument nodes
# Add a premise
addNode(root, premise("Countries with high EV adoption show lower emissions growth."))
# Move a subtree
moveSubtree(tree, child1, concl)
# Edit a node's text
editNode(concl, new_text="Governments should invest in EVs.")
# Clone a subtree
clone = cloneSubtree(child1)
addNode(root, clone)
# Prune a node
pruneNode(child1)
# Collapse a subtree
collapseSubtree(child2)
Visualize your argument
from argumentari.visualize import treeToGraph, visualize
graph = treeToGraph(tree.root)
visualize(graph)
Apply argument schemes
from argumentari.schemes import getScheme, argumentScheme
root.setScheme("Argument from Authority", {"Authority": "Dr. Smith", "Statement": "EVs help climate"})
Serialize and deserialize argument trees
from argumentari.io import argumentSerializer
# Serialize to JSON
json_str = argumentSerializer.toJson(tree.root)
# Deserialize from JSON
new_root = argumentSerializer.fromJson(json_str)
Find nodes
matches = findNodes(tree, pattern="EVs")
for node in matches:
print(node.text)
Contact
- GitHub Issues: Argumentari Issues
- Author: literal-gargoyle
Metadata
Release files for argumentari 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| argumentari-0.1.1.tar.gz | 7.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| argumentari-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.5 kB
Release files / argumentari-0.1.1.tar.gz
| Download URL | argumentari-0.1.1.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
458e709ca38ce675044afe6c2419a8e37a6e0280eed8e0055a15693e5b15e3c2
|
|
BLAKE2b-256 checksum How to use checksums |
1544957e0c317517555419155d2db4694a9e4a2d16e6ec5ecff0b1de33edc339
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2025.
Transparency logRelease files / argumentari-0.1.1-py3-none-any.whl
| Download URL | argumentari-0.1.1-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31cffd79c90e74f2954482730725f54af46a1dcf6ac1033e5abd3b201e523b00
|
|
BLAKE2b-256 checksum How to use checksums |
290d14b1d49bd58e2c46999cf2fb8b0527c10ebad7d0b7befc413cdf1a1c1bde
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2025.
Transparency log