├── .coveragerc ├── .github ├── copilot-instructions.md └── workflows │ ├── docs.yml │ ├── publish.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .python-version ├── CLAUDE.md ├── LICENSE ├── README.md ├── codecov.yml ├── docs ├── codecov-setup.md ├── contributing.md ├── guide │ ├── 01_listing_symbols.ipynb │ ├── 02_extracting_symbols.ipynb │ ├── 03_top_of_book_snapshots.ipynb │ ├── 04_full_lob_snapshots.ipynb │ └── getting-started.md ├── images │ └── meatpy.svg ├── index.md └── installation.md ├── mkdocs.yml ├── pyproject.toml ├── pytest.ini ├── rules └── python.mdc ├── samples ├── itch41 │ ├── Step0_ExtractSymbols.py │ ├── Step1_Parsing.py │ └── Step2_Processing.py └── itch50 │ ├── 01_listing_symbols.py │ ├── 02_extracting_symbols.py │ ├── 03_top_of_book_snapshots.py │ └── 04_full_lob_snapshots.py ├── src └── meatpy │ ├── __init__.py │ ├── event_handlers │ ├── __init__.py │ ├── lob_event_recorder.py │ ├── lob_recorder.py │ ├── ofi_recorder.py │ └── spot_measures_recorder.py │ ├── events.py │ ├── itch41 │ ├── __init__.py │ ├── itch41_exec_trade_recorder.py │ ├── itch41_market_message.py │ ├── itch41_market_processor.py │ ├── itch41_message_reader.py │ ├── itch41_ofi_recorder.py │ ├── itch41_order_event_recorder.py │ ├── itch41_top_of_book_message_recorder.py │ └── itch41_writer.py │ ├── itch50 │ ├── __init__.py │ ├── itch50_exec_trade_recorder.py │ ├── itch50_market_message.py │ ├── itch50_market_processor.py │ ├── itch50_message_reader.py │ ├── itch50_ofi_recorder.py │ ├── itch50_order_event_recorder.py │ ├── itch50_top_of_book_message_recorder.py │ └── itch50_writer.py │ ├── level.py │ ├── lob.py │ ├── market_event_handler.py │ ├── market_processor.py │ ├── message_reader.py │ ├── timestamp.py │ ├── trading_status.py │ ├── types.py │ └── writers │ ├── __init__.py │ ├── base_writer.py │ ├── csv_writer.py │ └── parquet_writer.py ├── tests ├── __init__.py ├── test_csv_writer.py ├── test_events.py ├── test_itch41_messages.py ├── test_itch41_processor.py ├── test_itch41_reader.py ├── test_itch50_json.py ├── test_itch50_reader_writer.py ├── test_itch50_validation.py ├── test_level.py ├── test_lob.py ├── test_market_event_handler.py ├── test_market_processor.py ├── test_parquet_writer.py ├── test_recorders.py ├── test_timestamp.py ├── test_trading_status.py ├── test_types.py └── test_writers.py └── uv.lock /.coveragerc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/.coveragerc -------------------------------------------------------------------------------- /.github/copilot-instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/.github/copilot-instructions.md -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/.github/workflows/docs.yml -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.13 2 | -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/README.md -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/codecov.yml -------------------------------------------------------------------------------- /docs/codecov-setup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/docs/codecov-setup.md -------------------------------------------------------------------------------- /docs/contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/docs/contributing.md -------------------------------------------------------------------------------- /docs/guide/01_listing_symbols.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/docs/guide/01_listing_symbols.ipynb -------------------------------------------------------------------------------- /docs/guide/02_extracting_symbols.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/docs/guide/02_extracting_symbols.ipynb -------------------------------------------------------------------------------- /docs/guide/03_top_of_book_snapshots.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/docs/guide/03_top_of_book_snapshots.ipynb -------------------------------------------------------------------------------- /docs/guide/04_full_lob_snapshots.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/docs/guide/04_full_lob_snapshots.ipynb -------------------------------------------------------------------------------- /docs/guide/getting-started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/docs/guide/getting-started.md -------------------------------------------------------------------------------- /docs/images/meatpy.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/docs/images/meatpy.svg -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/docs/installation.md -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/pytest.ini -------------------------------------------------------------------------------- /rules/python.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/rules/python.mdc -------------------------------------------------------------------------------- /samples/itch41/Step0_ExtractSymbols.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/samples/itch41/Step0_ExtractSymbols.py -------------------------------------------------------------------------------- /samples/itch41/Step1_Parsing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/samples/itch41/Step1_Parsing.py -------------------------------------------------------------------------------- /samples/itch41/Step2_Processing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/samples/itch41/Step2_Processing.py -------------------------------------------------------------------------------- /samples/itch50/01_listing_symbols.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/samples/itch50/01_listing_symbols.py -------------------------------------------------------------------------------- /samples/itch50/02_extracting_symbols.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/samples/itch50/02_extracting_symbols.py -------------------------------------------------------------------------------- /samples/itch50/03_top_of_book_snapshots.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/samples/itch50/03_top_of_book_snapshots.py -------------------------------------------------------------------------------- /samples/itch50/04_full_lob_snapshots.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/samples/itch50/04_full_lob_snapshots.py -------------------------------------------------------------------------------- /src/meatpy/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/__init__.py -------------------------------------------------------------------------------- /src/meatpy/event_handlers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/event_handlers/__init__.py -------------------------------------------------------------------------------- /src/meatpy/event_handlers/lob_event_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/event_handlers/lob_event_recorder.py -------------------------------------------------------------------------------- /src/meatpy/event_handlers/lob_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/event_handlers/lob_recorder.py -------------------------------------------------------------------------------- /src/meatpy/event_handlers/ofi_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/event_handlers/ofi_recorder.py -------------------------------------------------------------------------------- /src/meatpy/event_handlers/spot_measures_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/event_handlers/spot_measures_recorder.py -------------------------------------------------------------------------------- /src/meatpy/events.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/events.py -------------------------------------------------------------------------------- /src/meatpy/itch41/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch41/__init__.py -------------------------------------------------------------------------------- /src/meatpy/itch41/itch41_exec_trade_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch41/itch41_exec_trade_recorder.py -------------------------------------------------------------------------------- /src/meatpy/itch41/itch41_market_message.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch41/itch41_market_message.py -------------------------------------------------------------------------------- /src/meatpy/itch41/itch41_market_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch41/itch41_market_processor.py -------------------------------------------------------------------------------- /src/meatpy/itch41/itch41_message_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch41/itch41_message_reader.py -------------------------------------------------------------------------------- /src/meatpy/itch41/itch41_ofi_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch41/itch41_ofi_recorder.py -------------------------------------------------------------------------------- /src/meatpy/itch41/itch41_order_event_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch41/itch41_order_event_recorder.py -------------------------------------------------------------------------------- /src/meatpy/itch41/itch41_top_of_book_message_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch41/itch41_top_of_book_message_recorder.py -------------------------------------------------------------------------------- /src/meatpy/itch41/itch41_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch41/itch41_writer.py -------------------------------------------------------------------------------- /src/meatpy/itch50/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch50/__init__.py -------------------------------------------------------------------------------- /src/meatpy/itch50/itch50_exec_trade_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch50/itch50_exec_trade_recorder.py -------------------------------------------------------------------------------- /src/meatpy/itch50/itch50_market_message.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch50/itch50_market_message.py -------------------------------------------------------------------------------- /src/meatpy/itch50/itch50_market_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch50/itch50_market_processor.py -------------------------------------------------------------------------------- /src/meatpy/itch50/itch50_message_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch50/itch50_message_reader.py -------------------------------------------------------------------------------- /src/meatpy/itch50/itch50_ofi_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch50/itch50_ofi_recorder.py -------------------------------------------------------------------------------- /src/meatpy/itch50/itch50_order_event_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch50/itch50_order_event_recorder.py -------------------------------------------------------------------------------- /src/meatpy/itch50/itch50_top_of_book_message_recorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch50/itch50_top_of_book_message_recorder.py -------------------------------------------------------------------------------- /src/meatpy/itch50/itch50_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/itch50/itch50_writer.py -------------------------------------------------------------------------------- /src/meatpy/level.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/level.py -------------------------------------------------------------------------------- /src/meatpy/lob.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/lob.py -------------------------------------------------------------------------------- /src/meatpy/market_event_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/market_event_handler.py -------------------------------------------------------------------------------- /src/meatpy/market_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/market_processor.py -------------------------------------------------------------------------------- /src/meatpy/message_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/message_reader.py -------------------------------------------------------------------------------- /src/meatpy/timestamp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/timestamp.py -------------------------------------------------------------------------------- /src/meatpy/trading_status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/trading_status.py -------------------------------------------------------------------------------- /src/meatpy/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/types.py -------------------------------------------------------------------------------- /src/meatpy/writers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/writers/__init__.py -------------------------------------------------------------------------------- /src/meatpy/writers/base_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/writers/base_writer.py -------------------------------------------------------------------------------- /src/meatpy/writers/csv_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/writers/csv_writer.py -------------------------------------------------------------------------------- /src/meatpy/writers/parquet_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/src/meatpy/writers/parquet_writer.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | """Test package for MeatPy.""" 2 | -------------------------------------------------------------------------------- /tests/test_csv_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_csv_writer.py -------------------------------------------------------------------------------- /tests/test_events.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_events.py -------------------------------------------------------------------------------- /tests/test_itch41_messages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_itch41_messages.py -------------------------------------------------------------------------------- /tests/test_itch41_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_itch41_processor.py -------------------------------------------------------------------------------- /tests/test_itch41_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_itch41_reader.py -------------------------------------------------------------------------------- /tests/test_itch50_json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_itch50_json.py -------------------------------------------------------------------------------- /tests/test_itch50_reader_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_itch50_reader_writer.py -------------------------------------------------------------------------------- /tests/test_itch50_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_itch50_validation.py -------------------------------------------------------------------------------- /tests/test_level.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_level.py -------------------------------------------------------------------------------- /tests/test_lob.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_lob.py -------------------------------------------------------------------------------- /tests/test_market_event_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_market_event_handler.py -------------------------------------------------------------------------------- /tests/test_market_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_market_processor.py -------------------------------------------------------------------------------- /tests/test_parquet_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_parquet_writer.py -------------------------------------------------------------------------------- /tests/test_recorders.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_recorders.py -------------------------------------------------------------------------------- /tests/test_timestamp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_timestamp.py -------------------------------------------------------------------------------- /tests/test_trading_status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_trading_status.py -------------------------------------------------------------------------------- /tests/test_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_types.py -------------------------------------------------------------------------------- /tests/test_writers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/tests/test_writers.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vgreg/MeatPy/HEAD/uv.lock --------------------------------------------------------------------------------