Skip to main content

Simple data structure for sequence memory

Project description

hydraseq

Simple data structure to remember sequences

Data structure composed of a trie embedded in dictiories for easy lookup. Keep track of sequences given and then return the next expected in a sequence if already seen.

Installation

pip install hydraseq

Example usage

Insert a sentence, and the query to see what the next word is if you submit part of the sentence. This basically rewinds the sentence up to that point and looks up what the next word would be.

from hydraseq import Hydraseq

hdr = Hydraseq('main')

hdr.insert("The quick brown fox jumped over the lazy dog")

print(hdr.look_ahead("The quick brown").get_next_values())
> ['fox']

If you now insert a similar sentence, say use wolf instead of fox, the look ahead will return both.

hdr.insert("The quick brown wolf jumped over the lazy dog")

print(hdr.look_ahead("The quick brown").get_next_values())

> ['fox', 'wolf']

Stepping through word by word

The look_ahead rewinds from the start and stops at the last word, this is not too efficient. You can do a reset, rewinding the start and setp through word by word recovering which words are next.

word = ["The"]
hdr.reset()
while word:
    print(word)
    word = hdr.hit(word[0]).get_next_values()

print(".")
>
>['The']
>['quick']
>['brown']
>['fox', 'wolf']
>['jumped']
>['over']
>['the']
>['lazy']
>['dog']
>.

Checking state, without actually inserting new words.

Every time you use insert the sequence is remembered. If you just want to check what is next but make sure the insert doesn't cause new words to get remembered use the is_learning=False flag for both insert and hit

Project details


Download files

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

Source Distribution

hydraseq-0.0.10.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

hydraseq-0.0.10-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file hydraseq-0.0.10.tar.gz.

File metadata

  • Download URL: hydraseq-0.0.10.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.4

File hashes

Hashes for hydraseq-0.0.10.tar.gz
Algorithm Hash digest
SHA256 4bc1cee37bc6b815d44e65d16903da55c9af3920ee775e63da4761649ea3551e
MD5 d3acb57a39a7247eaf471a5c09eeb2d3
BLAKE2b-256 0d0d225913a51489f41e6af5cd18c6ffd0b6f2e9a2ca800191ef9fe15d9418bb

See more details on using hashes here.

File details

Details for the file hydraseq-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: hydraseq-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.4

File hashes

Hashes for hydraseq-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 2c11cf1e9e4c5223b78cef842ebc987dea5a5a79e4e0a01451d4c18d9ed1e87d
MD5 10dcbf69dd0e92731a7610b69bf47e81
BLAKE2b-256 02a9b38a7acd78bf73ded0fd1f072c14e148a720136444ef3e9899253f1d3967

See more details on using hashes here.

Supported by

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