Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat][Format] Format Specification as part of docs #362

Closed
SemyonSinchenko opened this issue Feb 7, 2024 · 4 comments · Fixed by #387
Closed

[Feat][Format] Format Specification as part of docs #362

SemyonSinchenko opened this issue Feb 7, 2024 · 4 comments · Fixed by #387
Assignees
Labels
enhancement New feature or request

Comments

@SemyonSinchenko
Copy link
Member

Is your feature request related to a problem? Please describe.
I would like to see an automatically generated format specification from the reference implementation (cpp?);

For example, currently it is not clear which features (nullability, etc.) were added to Cpp implementation and are missing in spark/pyspark.

Describe the solution you'd like
An automatically generated specification from the Cpp code is placed somewhere in docs. With detailed structure of YAML file, folders structure, etc. Especially for YAML files. May it be implemented as placing a generated fake YAML for GraphInfo, EdgeInfo and VertexInfo via Cpp impl? Or a detailed example of such YAML files.

Describe alternatives you've considered
Any other solution could be cool too. I'm not enough familiar with Cpp to say what a canonical way is to do it.

Additional context
I know that there are some examples, but it could be cool to have something in docs too. With more detailed description about what should be inside. And as I understand, this part of the documentation is maintained manually, so it may be outdated.

@SemyonSinchenko SemyonSinchenko added the enhancement New feature or request label Feb 7, 2024
@acezen
Copy link
Contributor

acezen commented Feb 7, 2024

yes, this's a good advice! I'll see how to generate such doc.

@acezen acezen self-assigned this Feb 21, 2024
@acezen
Copy link
Contributor

acezen commented Feb 21, 2024

also suggest in issue #352

@acezen
Copy link
Contributor

acezen commented Feb 27, 2024

The auto-generated from cpp is not a good solution I think. Currently the format specification is outdated, I will update it base on our latest design of the format.

The format specification should keep separate from the libraries and the libraries' implementation needs to base on the format design.
So when we discuss to add some new feature to our format, we should first update the format specification, and then update the libraries to support the feature. The process was not run correctly before, I will add the process to the developer guide to ensure we would always develop with the process in the future.

  • update the format specification document
  • Add correct format design process to developer guide

@lixueclaire
Copy link
Contributor

this part

The auto-generated from cpp is not a good solution I think. Currently the format specification is outdated, I will update it base on our latest design of the format.

The format specification should keep separate from the libraries and the libraries' implementation needs to base on the format design. So when we discuss to add some new feature to our format, we should first update the format specification, and then update the libraries to support the feature. The process was not run correctly before, I will add the process to the developer guide to ensure we would always develop with the process in the future.

  • update the format specification document
  • Add correct format design process to developer guide

I recommend updating the format page in the documentation with the following entry to reflect the most recent changes:
Last modified Feb XX, 2024: Sync site with format release version x.x.x (commit xxxx)
referencing Parquet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants