Skip to content

Commit c6cc2df

Browse files
committed
Turn proto into module and disable warnings for undocumented code in generated code
1 parent 20d6b2c commit c6cc2df

File tree

6 files changed

+40
-24
lines changed

6 files changed

+40
-24
lines changed

codegen/build-oas.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
SCRIPT_DIR=$(dirname "$(realpath "$0")")
44
PROJECT_DIR=$(realpath "$SCRIPT_DIR/..")
55

6+
tempdir=".openapi-crate"
7+
outdir="src/openapi"
8+
69
pushd $PROJECT_DIR/codegen/apis
710
just build
811
popd
912

10-
tempdir=".openapi-crate"
11-
outdir="src/openapi"
12-
1313
docker run --rm -v $(pwd):/workspace openapitools/openapi-generator-cli:v7.6.0 generate \
1414
--input-spec /workspace/codegen/apis/_build/2024-07/control_2024-07.oas.yaml \
1515
--generator-name rust \
@@ -18,6 +18,7 @@ docker run --rm -v $(pwd):/workspace openapitools/openapi-generator-cli:v7.6.0 g
1818

1919
# copy source files from the crate to the module (outdir)
2020
echo "Copying source files from $tempdir to $outdir"
21+
mod_header=$'\n#![allow(missing_docs)]\n'
2122
pushd $PROJECT_DIR
2223
# copy the readme to the outdir
2324
cp $tempdir/README.md $outdir/README.md
@@ -28,6 +29,9 @@ pushd $PROJECT_DIR
2829
# rename the lib.rs file to mod.rs
2930
mv $outdir/lib.rs $outdir/mod.rs
3031

32+
# add line at the top to disable warnings for undocumented code
33+
sed -i "" "1 i\\$mod_header" $outdir/mod.rs
34+
3135
# in each source file, replace "crate::" with "crate::openapi::"
3236
for f in $(find $outdir -type f); do
3337
sed -i "" 's/crate::/crate::openapi::/g' $f

codegen/build-proto.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,11 @@ popd
1212
pushd $SCRIPT_DIR/proto_build
1313
cargo run -- $PROJECT_DIR/$outdir
1414
popd
15+
16+
mod_header=$'\n#![allow(missing_docs)]\n'
17+
pushd $PROJECT_DIR/$outdir
18+
# rename _.rs to mod.rs
19+
mv _.rs mod.rs
20+
# add line at the top to disable warnings for undocumented code
21+
sed -i "" "1 i\\$mod_header" mod.rs
22+
popd

src/lib.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,8 @@ pub mod pinecone;
1515
/// Utility modules.
1616
pub mod utils;
1717

18+
/// OpenAPI client for Pinecone.
1819
pub mod openapi;
20+
21+
/// Protobuf client for Pinecone.
22+
pub mod protos;

src/openapi/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#![allow(missing_docs)]
12
#![allow(unused_imports)]
23
#![allow(clippy::too_many_arguments)]
34

src/pinecone/data.rs

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,19 @@
11
use crate::pinecone::PineconeClient;
2+
use crate::protos::vector_service_client::VectorServiceClient;
23
use crate::utils::errors::PineconeError;
34
use once_cell::sync::Lazy;
4-
use pb::vector_service_client::VectorServiceClient;
55
use tonic::metadata::{Ascii, MetadataValue as TonicMetadataVal};
66
use tonic::service::interceptor::InterceptedService;
77
use tonic::service::Interceptor;
88
use tonic::transport::Channel;
99
use tonic::{Request, Status};
1010

11-
pub use pb::{
12-
DescribeIndexStatsResponse, FetchResponse, ListResponse, QueryResponse, SparseValues, UpdateResponse,
13-
UpsertResponse, Vector,
11+
pub use crate::protos::{
12+
self, DescribeIndexStatsResponse, FetchResponse, ListResponse, QueryResponse, SparseValues,
13+
UpdateResponse, UpsertResponse, Vector,
1414
};
1515
pub use prost_types::{value::Kind, Struct as Metadata, Value};
1616

17-
/// Generated protobuf module for data plane.
18-
pub mod pb {
19-
include!("../protos/_.rs");
20-
}
21-
2217
#[derive(Debug, Clone)]
2318
struct ApiKeyInterceptor {
2419
api_token: TonicMetadataVal<Ascii>,
@@ -102,7 +97,7 @@ impl Index {
10297
vectors: &[Vector],
10398
namespace: &Namespace,
10499
) -> Result<UpsertResponse, PineconeError> {
105-
let request = pb::UpsertRequest {
100+
let request = protos::UpsertRequest {
106101
vectors: vectors.to_vec(),
107102
namespace: namespace.name.clone(),
108103
};
@@ -151,7 +146,7 @@ impl Index {
151146
limit: Option<u32>,
152147
pagination_token: Option<String>,
153148
) -> Result<ListResponse, PineconeError> {
154-
let request = pb::ListRequest {
149+
let request = protos::ListRequest {
155150
namespace: namespace.name.clone(),
156151
prefix,
157152
limit,
@@ -200,7 +195,7 @@ impl Index {
200195
&mut self,
201196
filter: Option<Metadata>,
202197
) -> Result<DescribeIndexStatsResponse, PineconeError> {
203-
let request = pb::DescribeIndexStatsRequest { filter };
198+
let request = protos::DescribeIndexStatsRequest { filter };
204199

205200
let response = self
206201
.connection
@@ -212,7 +207,10 @@ impl Index {
212207
Ok(response)
213208
}
214209

215-
async fn query(&mut self, request: pb::QueryRequest) -> Result<QueryResponse, PineconeError> {
210+
async fn query(
211+
&mut self,
212+
request: protos::QueryRequest,
213+
) -> Result<QueryResponse, PineconeError> {
216214
let response = self
217215
.connection
218216
.query(request)
@@ -260,7 +258,7 @@ impl Index {
260258
metadata: Option<Metadata>,
261259
namespace: &Namespace,
262260
) -> Result<UpdateResponse, PineconeError> {
263-
let request = pb::UpdateRequest {
261+
let request = protos::UpdateRequest {
264262
id,
265263
values,
266264
sparse_values,
@@ -316,7 +314,7 @@ impl Index {
316314
include_values: Option<bool>,
317315
include_metadata: Option<bool>,
318316
) -> Result<QueryResponse, PineconeError> {
319-
let request = pb::QueryRequest {
317+
let request = protos::QueryRequest {
320318
id,
321319
top_k,
322320
namespace: namespace.name.clone(),
@@ -373,7 +371,7 @@ impl Index {
373371
include_values: Option<bool>,
374372
include_metadata: Option<bool>,
375373
) -> Result<QueryResponse, PineconeError> {
376-
let request = pb::QueryRequest {
374+
let request = protos::QueryRequest {
377375
id: "".to_string(),
378376
top_k,
379377
namespace: namespace.name.clone(),
@@ -419,7 +417,7 @@ impl Index {
419417
ids: &[String],
420418
namespace: &Namespace,
421419
) -> Result<(), PineconeError> {
422-
let request = pb::DeleteRequest {
420+
let request = protos::DeleteRequest {
423421
ids: ids.to_vec(),
424422
delete_all: false,
425423
namespace: namespace.name.clone(),
@@ -454,7 +452,7 @@ impl Index {
454452
/// # }
455453
/// ```
456454
pub async fn delete_all(&mut self, namespace: &Namespace) -> Result<(), PineconeError> {
457-
let request = pb::DeleteRequest {
455+
let request = protos::DeleteRequest {
458456
ids: vec![],
459457
delete_all: true,
460458
namespace: namespace.name.clone(),
@@ -498,7 +496,7 @@ impl Index {
498496
filter: Metadata,
499497
namespace: &Namespace,
500498
) -> Result<(), PineconeError> {
501-
let request = pb::DeleteRequest {
499+
let request = protos::DeleteRequest {
502500
ids: vec![],
503501
delete_all: false,
504502
namespace: namespace.name.clone(),
@@ -509,7 +507,7 @@ impl Index {
509507
}
510508

511509
// Helper function to call delete operation
512-
async fn delete(&mut self, request: pb::DeleteRequest) -> Result<(), PineconeError> {
510+
async fn delete(&mut self, request: protos::DeleteRequest) -> Result<(), PineconeError> {
513511
let _ = self
514512
.connection
515513
.delete(request)
@@ -552,7 +550,7 @@ impl Index {
552550
ids: &[String],
553551
namespace: &Namespace,
554552
) -> Result<FetchResponse, PineconeError> {
555-
let request = pb::FetchRequest {
553+
let request = protos::FetchRequest {
556554
ids: ids.to_vec(),
557555
namespace: namespace.name.clone(),
558556
};

src/protos/_.rs renamed to src/protos/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#![allow(missing_docs)]
12
// This file is @generated by prost-build.
23
#[allow(clippy::derive_partial_eq_without_eq)]
34
#[derive(Clone, PartialEq, ::prost::Message)]

0 commit comments

Comments
 (0)