Skip to content

Update CSV adapter - #748

Draft
AndrewSasmito wants to merge 10 commits into
Point72:mainfrom
AndrewSasmito:csv-adapter
Draft

Update CSV adapter#748
AndrewSasmito wants to merge 10 commits into
Point72:mainfrom
AndrewSasmito:csv-adapter

Conversation

@AndrewSasmito

Copy link
Copy Markdown

Address #259

Summary

Rewrite the CSV adapter to use a C++ engine rather than pure Python.

Limitations

Initial current implementation is with basic C++, hopefully we can do the following:

  • Support more date/time formats or switch formats so we can build the function at runtime
  • Support more fields than just pure strings
  • Potentially add more speedups/optimizations if needed
  • Rewrite the wiki since the Python implementation has changed

Signed-off-by: Andrew Sasmito <asasmito1920@gmail.com>

Refactor CsvInputAdapterManager for improved clarity

Add new fields and methods to CsvInputAdapterManager

Fix error
Signed-off-by: Andrew Sasmito <asasmito1920@gmail.com>
Signed-off-by: Andrew Sasmito <asasmito1920@gmail.com>
Signed-off-by: Andrew Sasmito <asasmito1920@gmail.com>
Signed-off-by: Andrew Sasmito <asasmito1920@gmail.com>
Signed-off-by: Andrew Sasmito <asasmito1920@gmail.com>
Comment thread cpp/csp/adapters/csv/CsvInputAdapterManager.cpp Outdated
Comment thread cpp/cmake/modules/FindDepsCsvAdapter.cmake

- **line 3**: this is where the instance of an adapter *--impl--* registers itself with the `CSVReaderImpl`.
- **line 6+**: this is where we define `CSVReadAdapter`, the *--graph--* time representation of a CSV adapter, returned from `CSVReader.subscribe`
TODO

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We definitely want to keep an example of this

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For sure, I will try rewriting the docs right before we merge in case changes are made during review (which might require another rewrite).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would really want to see the test file unchanged to confirm no changes, but can add new tests as needed

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to change some parts of the test to support the new engine.

  • Change the order of arguments since symbol is now optional
  • I only accept strings for now for this prototype

Signed-off-by: Andrew Sasmito <asasmito1920@gmail.com>
Signed-off-by: Andrew Sasmito <asasmito1920@gmail.com>
@robambalu
robambalu marked this pull request as draft August 14, 2026 15:06
@timkpaine timkpaine added type: feature Issues and PRs related to new features lang: c++ Issues and PRs related to the C++ codebase lang: python Issues and PRs related to the Python codebase adapter: general Issues and PRs related to input/output adapters in general part: build Issues and PRs related to the build process labels Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adapter: general Issues and PRs related to input/output adapters in general lang: c++ Issues and PRs related to the C++ codebase lang: python Issues and PRs related to the Python codebase part: build Issues and PRs related to the build process type: feature Issues and PRs related to new features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants