├── .flake8 ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── dependabot.yml ├── release-drafter.yml ├── workflows.md └── workflows │ ├── constraints.txt │ ├── dependabot-auto-merge.yml │ ├── release-please.yml │ ├── release.yml │ └── tests.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .prettierignore ├── .readthedocs.yml ├── CONTRIBUTING.rst ├── LICENSE ├── README.rst ├── codecov.yml ├── dev ├── __init__.py ├── btree experiments.ipynb ├── display.ipynb ├── measure_ram.py ├── multi.ipynb ├── multicolumn.md ├── munchmark.ipynb ├── output.png ├── perf.ipynb └── wrdl-dev.ipynb ├── docs ├── Makefile ├── conf.py ├── demos.rst ├── ducks.concurrent.rst ├── ducks.frozen.rst ├── ducks.mutable.rst ├── ducks.rst ├── favicon.ico ├── how_it_works.rst ├── img │ ├── ducks-main.png │ └── perf_bench.png ├── index.rst ├── make.bat ├── modules.rst ├── quick_start.rst └── requirements.txt ├── ducks ├── __init__.py ├── btree.py ├── concurrent │ ├── __init__.py │ └── main.py ├── constants.py ├── exceptions.py ├── frozen │ ├── __init__.py │ ├── frozen_attr.py │ ├── init_helpers.py │ ├── main.py │ └── utils.py ├── mutable │ ├── __init__.py │ ├── main.py │ └── mutable_attr.py ├── pickling.py └── utils.py ├── examples ├── __init__.py ├── collision.py ├── concurrent_perf.ipynb ├── data │ ├── crossword_words.txt │ └── wordle_words.csv ├── img │ ├── word0.png │ ├── word1.png │ ├── word2.png │ ├── word3.png │ ├── word4.png │ └── word5.png ├── pandas_index.py ├── percentile.py ├── perf_demo.ipynb ├── update.py └── wordle.ipynb ├── noxfile.py ├── poetry.lock ├── pyproject.toml ├── test ├── __init__.py ├── concurrent │ ├── __init__.py │ ├── concurrent_utils.py │ ├── test_multi_writer.py │ └── test_read_update.py ├── conftest.py ├── mutable │ ├── __init__.py │ └── test_soak.py ├── test_basic_operations.py ├── test_btree.py ├── test_container_ops.py ├── test_edge_cases.py ├── test_examples.py ├── test_exceptions.py ├── test_fancy_gets.py ├── test_missing_attribute.py ├── test_mixed_cardinality.py ├── test_multiple_operations.py ├── test_mutations.py ├── test_nones.py ├── test_pickling.py ├── test_range_queries.py ├── test_stale_objects.py └── test_wrong_type.py └── tmp ├── Makefile ├── conf.py ├── index.rst └── make.bat /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.flake8 -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/release-drafter.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.github/release-drafter.yml -------------------------------------------------------------------------------- /.github/workflows.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.github/workflows.md -------------------------------------------------------------------------------- /.github/workflows/constraints.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.github/workflows/constraints.txt -------------------------------------------------------------------------------- /.github/workflows/dependabot-auto-merge.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.github/workflows/dependabot-auto-merge.yml -------------------------------------------------------------------------------- /.github/workflows/release-please.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.github/workflows/release-please.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .github/* 2 | CHANGELOG.md 3 | -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/.readthedocs.yml -------------------------------------------------------------------------------- /CONTRIBUTING.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/CONTRIBUTING.rst -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/LICENSE -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/README.rst -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/codecov.yml -------------------------------------------------------------------------------- /dev/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dev/btree experiments.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/dev/btree experiments.ipynb -------------------------------------------------------------------------------- /dev/display.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/dev/display.ipynb -------------------------------------------------------------------------------- /dev/measure_ram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/dev/measure_ram.py -------------------------------------------------------------------------------- /dev/multi.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/dev/multi.ipynb -------------------------------------------------------------------------------- /dev/multicolumn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/dev/multicolumn.md -------------------------------------------------------------------------------- /dev/munchmark.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/dev/munchmark.ipynb -------------------------------------------------------------------------------- /dev/output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/dev/output.png -------------------------------------------------------------------------------- /dev/perf.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/dev/perf.ipynb -------------------------------------------------------------------------------- /dev/wrdl-dev.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/dev/wrdl-dev.ipynb -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/demos.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/demos.rst -------------------------------------------------------------------------------- /docs/ducks.concurrent.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/ducks.concurrent.rst -------------------------------------------------------------------------------- /docs/ducks.frozen.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/ducks.frozen.rst -------------------------------------------------------------------------------- /docs/ducks.mutable.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/ducks.mutable.rst -------------------------------------------------------------------------------- /docs/ducks.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/ducks.rst -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/favicon.ico -------------------------------------------------------------------------------- /docs/how_it_works.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/how_it_works.rst -------------------------------------------------------------------------------- /docs/img/ducks-main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/img/ducks-main.png -------------------------------------------------------------------------------- /docs/img/perf_bench.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/img/perf_bench.png -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/modules.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/modules.rst -------------------------------------------------------------------------------- /docs/quick_start.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/quick_start.rst -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /ducks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/__init__.py -------------------------------------------------------------------------------- /ducks/btree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/btree.py -------------------------------------------------------------------------------- /ducks/concurrent/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ducks/concurrent/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/concurrent/main.py -------------------------------------------------------------------------------- /ducks/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/constants.py -------------------------------------------------------------------------------- /ducks/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/exceptions.py -------------------------------------------------------------------------------- /ducks/frozen/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ducks/frozen/frozen_attr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/frozen/frozen_attr.py -------------------------------------------------------------------------------- /ducks/frozen/init_helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/frozen/init_helpers.py -------------------------------------------------------------------------------- /ducks/frozen/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/frozen/main.py -------------------------------------------------------------------------------- /ducks/frozen/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/frozen/utils.py -------------------------------------------------------------------------------- /ducks/mutable/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ducks/mutable/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/mutable/main.py -------------------------------------------------------------------------------- /ducks/mutable/mutable_attr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/mutable/mutable_attr.py -------------------------------------------------------------------------------- /ducks/pickling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/pickling.py -------------------------------------------------------------------------------- /ducks/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/ducks/utils.py -------------------------------------------------------------------------------- /examples/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/collision.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/collision.py -------------------------------------------------------------------------------- /examples/concurrent_perf.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/concurrent_perf.ipynb -------------------------------------------------------------------------------- /examples/data/crossword_words.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/data/wordle_words.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/data/wordle_words.csv -------------------------------------------------------------------------------- /examples/img/word0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/img/word0.png -------------------------------------------------------------------------------- /examples/img/word1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/img/word1.png -------------------------------------------------------------------------------- /examples/img/word2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/img/word2.png -------------------------------------------------------------------------------- /examples/img/word3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/img/word3.png -------------------------------------------------------------------------------- /examples/img/word4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/img/word4.png -------------------------------------------------------------------------------- /examples/img/word5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/img/word5.png -------------------------------------------------------------------------------- /examples/pandas_index.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/pandas_index.py -------------------------------------------------------------------------------- /examples/percentile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/percentile.py -------------------------------------------------------------------------------- /examples/perf_demo.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/perf_demo.ipynb -------------------------------------------------------------------------------- /examples/update.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/update.py -------------------------------------------------------------------------------- /examples/wordle.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/examples/wordle.ipynb -------------------------------------------------------------------------------- /noxfile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/noxfile.py -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/poetry.lock -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/pyproject.toml -------------------------------------------------------------------------------- /test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/concurrent/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/concurrent/concurrent_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/concurrent/concurrent_utils.py -------------------------------------------------------------------------------- /test/concurrent/test_multi_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/concurrent/test_multi_writer.py -------------------------------------------------------------------------------- /test/concurrent/test_read_update.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/concurrent/test_read_update.py -------------------------------------------------------------------------------- /test/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/conftest.py -------------------------------------------------------------------------------- /test/mutable/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/mutable/test_soak.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/mutable/test_soak.py -------------------------------------------------------------------------------- /test/test_basic_operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_basic_operations.py -------------------------------------------------------------------------------- /test/test_btree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_btree.py -------------------------------------------------------------------------------- /test/test_container_ops.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_container_ops.py -------------------------------------------------------------------------------- /test/test_edge_cases.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_edge_cases.py -------------------------------------------------------------------------------- /test/test_examples.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_examples.py -------------------------------------------------------------------------------- /test/test_exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_exceptions.py -------------------------------------------------------------------------------- /test/test_fancy_gets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_fancy_gets.py -------------------------------------------------------------------------------- /test/test_missing_attribute.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_missing_attribute.py -------------------------------------------------------------------------------- /test/test_mixed_cardinality.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_mixed_cardinality.py -------------------------------------------------------------------------------- /test/test_multiple_operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_multiple_operations.py -------------------------------------------------------------------------------- /test/test_mutations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_mutations.py -------------------------------------------------------------------------------- /test/test_nones.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_nones.py -------------------------------------------------------------------------------- /test/test_pickling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_pickling.py -------------------------------------------------------------------------------- /test/test_range_queries.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_range_queries.py -------------------------------------------------------------------------------- /test/test_stale_objects.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_stale_objects.py -------------------------------------------------------------------------------- /test/test_wrong_type.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/test/test_wrong_type.py -------------------------------------------------------------------------------- /tmp/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/tmp/Makefile -------------------------------------------------------------------------------- /tmp/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/tmp/conf.py -------------------------------------------------------------------------------- /tmp/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/tmp/index.rst -------------------------------------------------------------------------------- /tmp/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manimino/ducks/HEAD/tmp/make.bat --------------------------------------------------------------------------------