Skip to content

Open Source C++ api#3083

Merged
khustup2 merged 43 commits intomainfrom
opensource-cpp-api
Dec 8, 2025
Merged

Open Source C++ api#3083
khustup2 merged 43 commits intomainfrom
opensource-cpp-api

Conversation

@khustup2
Copy link
Copy Markdown
Contributor

@khustup2 khustup2 commented Nov 30, 2025

🚀 🚀 Pull Request

Open Source C++ API and introduce Deeplake Postgres extension

Impact

  • Bug fix (non-breaking change which fixes expected existing functionality)
  • Enhancement/New feature (adds functionality without impacting existing logic)
  • Breaking change (fix or feature that would cause existing functionality to change)

Description

This PR is the first part of open sourcing deeplake. It opens the API and the low level libraries used in deeplake.
Moving forward deeplake releases will include:

  • deeplake-api C++ package
  • PG extension
  • Python wheels package

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds open source C++ API support by introducing several third-party libraries and supporting files to the codebase, specifically libtiff (TIFF image library) and boost json functionality.

Key changes:

  • Added comprehensive libtiff implementation including multiple compression codecs (JPEG, JBIG, LERC, LogLuv)
  • Added supporting utilities (hash set, error handling, flush operations, extension support)
  • Added boost json library integration as header-only

Reviewed changes

Copilot reviewed 34 out of 735 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
cpp/3rd_party/libtiff/tif_luv.c Implements LogLuv compression for high dynamic range images
cpp/3rd_party/libtiff/tif_lerc.c Implements LERC compression codec
cpp/3rd_party/libtiff/tif_jpeg_12.c Implements 12-bit JPEG support
cpp/3rd_party/libtiff/tif_jpeg.c Implements JPEG compression/decompression
cpp/3rd_party/libtiff/tif_jbig.c Implements JBIG compression
cpp/3rd_party/libtiff/tif_hash_set.h Defines hash set data structure interface
cpp/3rd_party/libtiff/tif_hash_set.c Implements hash set functionality
cpp/3rd_party/libtiff/tif_flush.c Implements TIFF flush operations
cpp/3rd_party/libtiff/tif_extension.c Implements tag extension support
cpp/3rd_party/libtiff/tif_error.c Implements error handling
cpp/3rd_party/libtiff/tif_dumpmode.c Implements null compression mode
cpp/3rd_party/libtiff/snprintf.c Provides snprintf workaround for Visual Studio
cpp/3rd_party/libtiff/libport.h Declares portability functions
cpp/3rd_party/json/src.cpp Includes boost json as single compilation unit

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

if (sp->h_sampling == 0 || sp->v_sampling == 0)
{
TIFFErrorExtR(tif, module,
"Invalig horizontal/vertical sampling value");
Copy link

Copilot AI Nov 30, 2025

Choose a reason for hiding this comment

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

Corrected spelling of 'Invalig' to 'Invalid'.

Suggested change
"Invalig horizontal/vertical sampling value");
"Invalid horizontal/vertical sampling value");

Copilot uses AI. Check for mistakes.
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Dec 3, 2025

CLA assistant check
All committers have signed the CLA.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Dec 8, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
4.9% Duplication on New Code (required ≤ 3%)
C Maintainability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@khustup2 khustup2 merged commit 6590674 into main Dec 8, 2025
1 check failed
@khustup2 khustup2 deleted the opensource-cpp-api branch December 8, 2025 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants