Skip to content

Commit b1092b8

Browse files
committed
Prepare for public release v0.1.1
- Add Status endpoint (status.get_status()) for complete API coverage - Add CONTRIBUTING.md with contribution guidelines - Add CHANGELOG.md for version tracking - Update .gitignore to exclude internal docs and test files - Fix API response field names to match official API - CollectionListResponse: collections -> collection_names - PageResult: page_number -> page_index - DocumentInfo: content type correction - Remove debug/test examples, keep only polished examples - Add dotenv support to examples for easier local development - Update documentation
1 parent 5edf12d commit b1092b8

File tree

15 files changed

+355
-28
lines changed

15 files changed

+355
-28
lines changed

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
ZEROENTROPY_API_KEY=your-api-key-here
55

66
# Optional: Custom API base URL (uncomment to use)
7-
# ZEROENTROPY_BASE_URL=https://api.zeroentropy.dev
7+
# ZEROENTROPY_BASE_URL=https://api.zeroentropy.dev/v1

.gitignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,21 @@ patents_cache/
1111
# Temporary files
1212
*.pdf
1313
*.tmp
14+
15+
# Internal documentation
16+
CREATIVE_IDEAS.md
17+
DELIVERABLES_SUMMARY.md
18+
GPT2_DATASET_TEST_PLAN.md
19+
IMPLEMENTATION_STRATEGY.md
20+
LLM_TRAINING_EXECUTIVE_SUMMARY.md
21+
LLM_TRAINING_INSIGHTS.md
22+
MANUAL_TESTING_CHECKLIST.md
23+
PROJECT_OVERVIEW.md
24+
README_CREATIVE_PROJECTS.md
25+
RUNNING_BLIND_SPOTS.md
26+
TESTING_SUMMARY.md
27+
WEEK1_RESEARCH_FINDINGS.md
28+
GUIDE.md
29+
30+
# Claude AI assistant directory
31+
.claude/

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.1.1] - 2025-11-10
9+
10+
### Changed
11+
- Updated repository URL in Cargo.toml
12+
- Improved documentation and examples
13+
14+
## [0.1.0] - 2025-11-08
15+
16+
### Added
17+
- Initial release of ZeroEntropy Rust SDK
18+
- Complete implementation of ZeroEntropy API endpoints
19+
- Collections API (create, list, delete)
20+
- Documents API (add text/PDF, get info, update, delete)
21+
- Queries API (top documents, top snippets, top pages)
22+
- Reranking API
23+
- Async client built on Tokio and reqwest
24+
- Configurable retry logic with exponential backoff
25+
- Strong typing with comprehensive error handling
26+
- Builder pattern for client configuration
27+
- Support for metadata filtering
28+
- PDF document support
29+
- Examples: basic usage and arXiv search
30+
- Complete API documentation
31+
- Apache 2.0 license
32+
33+
[0.1.1]: https://github.com/davidatoms/zeroentropy-rust/compare/v0.1.0...v0.1.1
34+
[0.1.0]: https://github.com/davidatoms/zeroentropy-rust/releases/tag/v0.1.0

CONTRIBUTING.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Contributing to ZeroEntropy Rust SDK
2+
3+
Thank you for your interest in contributing to the ZeroEntropy Rust SDK! We welcome contributions from the community.
4+
5+
## Getting Started
6+
7+
1. Fork the repository on GitHub
8+
2. Clone your fork locally
9+
3. Create a new branch for your feature or bugfix
10+
4. Make your changes
11+
5. Run tests to ensure everything works
12+
6. Submit a pull request
13+
14+
## Development Setup
15+
16+
```bash
17+
# Clone the repository
18+
git clone https://github.com/davidatoms/zeroentropy-rust.git
19+
cd zeroentropy-rust
20+
21+
# Build the project
22+
cargo build
23+
24+
# Run tests
25+
cargo test
26+
27+
# Run examples (requires API key)
28+
export ZEROENTROPY_API_KEY="your-api-key"
29+
cargo run --example basic
30+
```
31+
32+
## Code Style
33+
34+
- Follow standard Rust conventions and idioms
35+
- Use `cargo fmt` to format your code
36+
- Run `cargo clippy` to catch common mistakes
37+
- Write clear, descriptive commit messages
38+
39+
## Testing
40+
41+
- Add tests for new functionality
42+
- Ensure all existing tests pass
43+
- Test your changes with real API calls when possible
44+
45+
## Pull Request Process
46+
47+
1. Update the README.md with details of changes if applicable
48+
2. Update the CHANGELOG.md with your changes
49+
3. Ensure your code builds and all tests pass
50+
4. The PR will be reviewed by maintainers
51+
5. Once approved, your changes will be merged
52+
53+
## Reporting Issues
54+
55+
When reporting issues, please include:
56+
57+
- A clear, descriptive title
58+
- Steps to reproduce the issue
59+
- Expected behavior
60+
- Actual behavior
61+
- Your environment (OS, Rust version, SDK version)
62+
- Any relevant error messages or logs
63+
64+
## Code of Conduct
65+
66+
- Be respectful and inclusive
67+
- Welcome newcomers and help them learn
68+
- Focus on constructive feedback
69+
- Maintain professionalism
70+
71+
## Questions?
72+
73+
If you have questions about contributing, feel free to:
74+
75+
- Open an issue for discussion
76+
- Contact the maintainers at founders@zeroentropy.dev
77+
78+
## License
79+
80+
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.

Cargo.lock

Lines changed: 138 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "zeroentropy-community"
3-
version = "0.1.0"
3+
version = "0.1.1"
44
edition = "2021"
55
authors = ["ZeroEntropy Community"]
66
license = "Apache-2.0"
@@ -21,3 +21,5 @@ base64 = "0.21"
2121
[dev-dependencies]
2222
tokio-test = "0.4"
2323
dotenv = "0.15"
24+
csv = "1.3"
25+
chrono = "0.4"

examples/arxiv_search.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@ use std::time::Duration;
44
use tokio::time::sleep;
55

66
/// Simplified example of downloading and searching arXiv papers
7-
///
7+
///
88
/// Usage:
99
/// export ZEROENTROPY_API_KEY="your-api-key"
1010
/// cargo run --example arxiv_search
1111
#[tokio::main]
1212
async fn main() -> Result<(), Box<dyn std::error::Error>> {
13+
// Load .env file if it exists
14+
dotenv::dotenv().ok();
15+
1316
let client = Client::from_env()?;
1417
let collection = "arxiv_demo";
1518

@@ -40,9 +43,10 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
4043
.await?;
4144

4245
// Save PDF temporarily
43-
let pdf_path = format!("/tmp/arxiv_{}.pdf", arxiv_id);
46+
let temp_dir = std::env::temp_dir();
47+
let pdf_path = temp_dir.join(format!("arxiv_{}.pdf", arxiv_id));
4448
std::fs::write(&pdf_path, pdf_bytes)?;
45-
println!("Downloaded to: {}", pdf_path);
49+
println!("Downloaded to: {}", pdf_path.display());
4650

4751
// Index the paper with metadata
4852
println!("\n=== Indexing Paper ===");

0 commit comments

Comments
 (0)