Skip to content

Releases: hyperquest-hq/hyperbase

v0.8.0

26 Mar 18:10

Choose a tag to compare

[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

26 Mar 07:41

Choose a tag to compare

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

31 Oct 07:31

Choose a tag to compare

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

26 Oct 22:11

Choose a tag to compare

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

28 Jul 13:10

Choose a tag to compare

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

22 Apr 15:20

Choose a tag to compare

[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

12 Apr 11:09

Choose a tag to compare

[0.4.2] - 12-04-2021

Changed

  • Solving wheel compilation issue.

Version 0.4.1

07 Apr 12:55

Choose a tag to compare

[0.4.1] - 07-04-2021

Changed

  • Solving issue with inclusion of auxiliary data file in non-binary distributions.

Version 0.4.0

07 Apr 10:08

Choose a tag to compare

[0.4.0] - 07-04-2021

Added

  • Agents system.
  • Conjunctions resolution agent.
  • Number agent (singular/plural relations) and related meaning.number module.
  • Wikipedia agent.
  • Coreference resolution in the parser through local fork of neuralcoref.
  • atom_gender(), atom_number(), atom_person(), atom_animacy() in parsers.
  • Coreference inference: gender, number and animacy.
  • Coreference inference:'X is Y' relationships.
  • dir_parser agent (looks for text files in directory tree).
  • Function meaning.concepts.has_common_or_proper_concept(edge).
  • Function Hypergraph.add() now has optional 'count' parameter.
  • Function Hypergraph.sequences().
  • Function Hyperedge.replace_argroles().
  • Function Hyperedge.insert_argrole().
  • Function Hyperedge.insert_edge_with_argrole().
  • Function Hyperedge.all_atoms().
  • Function Hyperedge.size().
  • Function Hyperedge.predicate().
  • Function Hyperedge.predicate_atom().
  • Function Hyperedge.simplify().
  • Function Hyperedge.connector_atom().
  • Utility functions to show colored edges in the terminal.

Changed

  • Special characters in atoms are now percent-encoded.
  • parse() now returns a dictionary that includes inferred edges.
  • parse() now returns a dictionary of edges to text.
  • New parser framework, improved English parser + scripts to help train and test new parsers.
  • Hyperedge main type character codes become upercase (apple/C instead of apple/c).
  • Conjunction hyperedge type, character code: "J" (e.g.: and/J).
  • Modifier hyperedge type can now be applied to anything.
  • Searching patterns can now include types, argument roles and other atom parts.
  • Hypergraph.search_count() renamed to Hypergraph.count().
  • corefs_names agent is simplified.
  • corefs_onto agent is simplified.
  • Tests now run with pytest instead of the deprecated './setup.py test'.
  • Hyperedge.replace_atom() optional unique argument.

Removed

  • Meta-modifier hyperedge type.
  • Auxiliary, subpredicate and dependency hyperedge types.
  • Obsolete Hyperedge.nest() method.

Version 0.3.2

10 Feb 12:28

Choose a tag to compare

Added

  • simplify_role() on Atom objects produces an atom with only its simple type as role.

Changed

  • Lemmas are now based on atoms with simplified roles.
  • Improved actors agent (more accurate identification of actors, English only for now).