This project has been archived by its maintainers, and is no longer receiving any updates.
Lightfeed Python SDK
Official Python client library for interacting with the Lightfeed API. Extract, search, and filter web data with a simple and intuitive interface.
Features
- Simple and intuitive interface for accessing Lightfeed APIs
- Semantic search and advanced filtering capabilities
- Full type definitions for better developer experience
- Comprehensive error handling
- Support for pagination
Installation
pip install lightfeed
Quick Start
from lightfeed import LightfeedClient, Condition, Operator
# Initialize client with your API key
client = LightfeedClient({
"apiKey": "YOUR_API_KEY"
})
# Retrieve records
def get_recent_records():
try:
response = client.get_records("your-database-id", {
"start_time": "2024-01-01T00:00:00Z",
"limit": 100
})
print(f"Retrieved {len(response['results'])} records")
print(response["results"])
except Exception as e:
print(f"Error retrieving records: {e}")
# Search records
def search_for_companies():
try:
response = client.search_records("your-database-id", {
"search": {
"text": "innovative AI solutions",
"threshold": 0.3
},
"filter": {
"condition": Condition.AND,
"rules": [
{
"column": "industry",
"operator": Operator.EQUALS,
"value": "Technology"
}
]
}
})
print(f"Found {len(response['results'])} matching records")
except Exception as e:
print(f"Error searching records: {e}")
API Documentation
Configuration
{
"apiKey": str, # required
"baseUrl": str, # optional, defaults to 'https://api.lightfeed.ai'
"timeout": float # optional, defaults to 30.0 seconds
}
Methods
get_records
Retrieves records from a database with optional filtering by time range.
client.get_records(database_id: str, params: Optional[GetRecordsParams]) -> RecordsResponse
Parameters:
databaseId(string): The ID of your Lightfeed databaseparams(optional): Query parametersstart_time(string, optional): Start of time range (ISO 8601)end_time(string, optional): End of time range (ISO 8601)limit(number, optional): Maximum records to return (default: 100, max: 500)cursor(string, optional): Pagination cursor
Returns: Records response containing results and pagination information
For detailed specifications and examples, see Get Records API
search_records
Performs semantic search on your database records with optional filtering.
client.search_records(database_id: str, params: SearchRecordsParams) -> RecordsResponse
Parameters:
databaseId(string): The ID of your Lightfeed databaseparams: Search parameterssearch.text(string): The text to search forsearch.threshold(number, optional): Minimum relevance score (0-1)filter(object, optional): Filtering conditionstime_range(object, optional): Time range constraintspagination(object, optional): Pagination options
Returns: Records response containing results with relevance scores
For detailed specifications and examples, see Search Records API
filter_records
Applies complex filtering conditions to database records.
client.filter_records(database_id: str, params: FilterRecordsParams) -> RecordsResponse
Parameters:
databaseId(string): The ID of your Lightfeed databaseparams: Filter parametersfilter(object): Filtering conditions using rules and operatorstime_range(object, optional): Time range constraintspagination(object, optional): Pagination options
Returns: Records response containing filtered results
For detailed specifications and examples, see Filter Records API
Authentication
All API requests require authentication using your Lightfeed API key. You can generate an API key in the Lightfeed dashboard under "API Keys".
client = LightfeedClient({
"apiKey": "YOUR_API_KEY"
})
Error Handling
The client library handles HTTP errors from the API and converts them into structured LightfeedError objects.
from lightfeed import LightfeedError
try:
records = client.get_records("your-database-id")
except LightfeedError as e:
print(f"Error {e.status}: {e.message}")
# Handle specific error types
if e.status == 401:
print("Authentication failed. Please check your API key")
elif e.status == 404:
print("Database not found")
# ...
Documentation
For comprehensive documentation and guides, visit the Lightfeed Documentation.
Support
If you need assistance with your implementation:
- Email us at support@lightfeed.ai
- Open an issue in the GitHub repository
- Join our Discord community
Metadata
Release files for lightfeed 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lightfeed-0.1.6.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lightfeed-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.3 kB
Release files / lightfeed-0.1.6.tar.gz
| Download URL | lightfeed-0.1.6.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f321a1393ecea8ace5ace2da5bffe5e3d635321fee433ffdd0e9afe740ee40f5
|
|
BLAKE2b-256 checksum How to use checksums |
d2dc4ae35f2a18a0cd5f1a48be31cd569e0ce1eb0255adf76585833d9242c0c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / lightfeed-0.1.6-py3-none-any.whl
| Download URL | lightfeed-0.1.6-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f336bcf365a1f3b902fbf8c14e8e66801412925e30050c7957b06f1aab1151ce
|
|
BLAKE2b-256 checksum How to use checksums |
35d65df00ed126c805ad125375a1ace64c671f4e49acc44f6f8bd23faaf2e37a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|