Releases: hyperquest-hq/hyperbase
Releases · hyperquest-hq/hyperbase
v0.10.0
[0.10.0] - 11-04-2026
Added
[]pattern notation for specifying sequences of arguments.- EdgeType and ArgRole enums.
- safety cap for match (
_MAX_ARGROLE_ITEMS=10) against pathological edge arities. - caching of computed
Hyperedge/Atomproperties. parse_to_jsonlmethod onParser.- unified parameter interface for parsers.
- method
Parser.accepted_params. - maximum depth protection for parsers.
- repl api for parsers.
Changed
- multiple patterns functions are now
Hyperedge/Atommethods:is_wildcard,is_pattern,is_fun_pattern,is_variable,contains_variable,variable_name. hyperbase.pynow delegating to smaller modules with well-defined concerns:builders.py,correctness.py,transforms.py,patterns.checks.pyandpatterns.matcher.py.- replaced
itertools.permutationswith constraint-propagated backtracking in argrole matcher. parse_textrenamed toparse; old iterator-basedparseremoved.read_sourcerenamed toparse_source;read_source_to_jsonlrenamed toparse_source_to_jsonl.- renamed
sentensizetoget_sentences. - hedge now uses an explicit stack instead of recursion (so that pathologically
nested edge strings cannot exhaust Python's call stack). - renamed parsers.correctness to parsers.badness.
Removed
__add__operator overloading inHyperedge/Atom.
v0.9.0
Changelog
[0.9.0] - 05-04-2026
Added
- readers (txt, url, wikipedia).
- cli interface with repl, parsers, readers.
- hyperedge.Hyperedge.match function (calls parsers.match_pattern).
- ParseResults.
- HyperEdge.text.
- load_edges function.
Changed
- added get_parser to main functions (at hyperbase root).
- improved documentation.
- hedge now accepts ParseResults and can recursively add Hyperedge.text strings.
- renamed function hyperedge.str2atom to str_to_atom.
- Hyperedge is not a frozen dataclasse, instead of inheriting from tuple.
- hedge now throws exceptions instead of returning None values.
- Hyperedge.contains always recursive, removed deep argument.
- simplified Hyperedge.simplify.
- Hyperedge.insert_argrole now private, renamed to Hyperedge._insert_argrole.
- Renamed Hyperedge.insert_edge_with_argrole to add_argument, pos optional (default to add at the end).
- Renamed Hyperedge.edges_with_argrole to arguments_with_role.
- Renamed Hyperedge.normalized to normalise.
Removed
- function patterns.edge_matches_pattern.
- deprecated and obsolete methods from Hyperedge: is_atom, to_str, roots, insert_first_argument, connect, sequence, contains_atom_type, main_concepts, replace_main_concept, has_argroles.
v0.8.0
[0.8.0] - 26-03-2026 - hyperbase is the successor of graphbrain
Added
- parser plugin foundation.
- more comprehensive Hyperedge.check_correctness.
- check parse correctness.
- type checking: full code coverage.
Changed
- renamed library to hyperbase.
- trimmed down library to the essentials: hyperedge, patterns and parser foundations.
- converted documentation to Material for MkDocs.
Removed
- hypergraph module, hypergraph database (memory module).
- alphabeta parser implementation.
- old scripts, examples, processors.
- ad hoc utils.
- cli.
- notebook utils.
- obsolete constants.
v0.7.0
Added
- patterns.is_wildcard().
- Base class hypergraph.memory.keyvalue.KeyValue for key-value hypergraph databases, removing redundant code between LevelDB and SQLite.
- Tests for LevelDB (only the SQLite Hypergraph implementation was being directly tested).
- Hyperedge.is_unordered_pattern().
- Functional pattern: any.
- Parser-level inference of coreferences between proper nouns.
- Parser.parse_and_add() now adds token information to the main edge of a sentence: the attribute 'tokens' contains the list of tokens and 'tok_pos' a structure with the token position for each atom in the edge.
- Post-processing step improves parser.
- Hypergraph.get_attributes().
Changed
- Entire project is now in pure Python
- Python >=3.10 now required.
- Hypergraph.search(), .match() and .count() now working with functional patterns and argument role matching.
- Fixed bug on match_pattern(), variables were not correctly matched when argument roles were specified past the first position in an atoms functional pattern.
- Simplified default systems connectors (breaks hypergraph DB backwards compatibility).
- max_text argument in parser.parse_and_add().
- Matches from patterns with repeated variables are collected in lists.
Removed
- graphbrain.logic obsolete module.
- LevelDB backend
Version 0.6.1
Changed
- Hyperedge.replace_argroles() .insert_argrole() and .insert_edge_with_argrole() now works with functional patterns such as var.
- Fixed bug when matching patterns containing atoms functional pattern where no atom has argroles.
Removed
- interactive_case_generator() from graphbrain.notebook.
Version 0.6.0
Added
- Hyperedge.atom and .not_atom properties.
- Hyperedge.mtype() and .connector_mtype() methods.
- Hyperedge.t, .mt, .ct and .cmt type shortcut properties.
- Functional patterns: var, atoms, lemma.
- Moved all patterns functions to graphbrain.patterns.
- Hypergraph.text().
- Parser.parse_and_add().
- Parser.sentences().
- Hyperedge.normalized().
- New package graphbrain.readers, for text readers from various sources.
- New package graphbrain.processors, for miscellaneous processors.
- Processor class.
Changed
- Coreference resolution now using the new spaCy experimental model.
- Now using spaCy transformer GPU models by default, can fallback to CPU model.
- Hyperedge.is_atom() deprecated.
- Improved Hyperedge.main_concepts().
- Hyperedge.atom() renamed to .inner_atom().
- Sequences keep track of their size, no need to specify position when adding edge to sequence.
- Improved wikipedia reader.
- Improved coreference resolution.
- LevelDB included by default again.
- Old package graphbrain.meaning renamed to graphbrain.utils.
- Hyperedge.argroles() now also works at relation/concept level.
Removed
- graphbrain.patterns.normalize_edge().
- graphbrain.stats obsolete package.
- graphbrain.cognition obsolete package.
- graphbrain.op obsolete module.
- Hyperedge .predicate() and .predicate_atom().
Version 0.5.0
Added
- SQLite3 hypergraph database backend.
- Hypergraph.add_with_attributes().
- import and export commands.
- Hypergraph context manager for batch writes (with hopen(hg_locator) as hg ...).
Changed
- Main hypergraph database backend is now SQLite3.
- LevelDB backend becomes optional. (disabled by default)
- Neuralcoref becomes optional. (disabled by default)
Removed
- Hypergraph.atom_count().
- Hypergraph.edge_count().
- Hypergraph.primary_atom_count().
- Hypergraph.primary_edge_count().
- info command.
- corefs_unidecode agent.
Version 0.4.3
[0.4.3] - 22-04-2021
Changed
- Fixed AlphaBeta bug related to temporary atoms being removed too soon from atom2tokens.
- Hypergraph.add_sequence() converts sequence name directly to atom.
- Parser level coreference resolution (neuralcoref) disabled by default, requires dedicated build.
Version 0.4.2
[0.4.2] - 12-04-2021
Changed
- Solving wheel compilation issue.
Version 0.4.1
[0.4.1] - 07-04-2021
Changed
- Solving issue with inclusion of auxiliary data file in non-binary distributions.