Skip to content

Commit d2ee983

Browse files
authored
Merge pull request #43 from benavlabs/add-configs-to-init
Add configs to init
2 parents 1c189b1 + 382884d commit d2ee983

File tree

6 files changed

+36
-31
lines changed

6 files changed

+36
-31
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ admin = CRUDAdmin(session=get_session, SECRET_KEY="key") # Memory backend (defa
158158
159159
### Production with Redis
160160
```python
161-
from crudadmin.session.configs import RedisConfig
161+
from crudadmin import CRUDAdmin, RedisConfig
162162

163163
# Using configuration object (recommended)
164164
redis_config = RedisConfig(host="localhost", port=6379, db=0)
@@ -189,7 +189,7 @@ admin = CRUDAdmin(
189189

190190
### Production with Security Features
191191
```python
192-
from crudadmin.session.configs import RedisConfig
192+
from crudadmin import CRUDAdmin, RedisConfig
193193

194194
# Configure Redis backend
195195
redis_config = RedisConfig(

crudadmin/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
from .admin_interface.crud_admin import CRUDAdmin
2+
from .session.configs import MemcachedConfig, RedisConfig
23

3-
__all__ = ["CRUDAdmin"]
4+
__all__ = ["CRUDAdmin", "RedisConfig", "MemcachedConfig"]

docs/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ app.mount("/admin", admin.app)
232232
### Production Configuration with Security
233233

234234
```python
235-
from crudadmin.session.configs import RedisConfig
235+
from crudadmin import CRUDAdmin, RedisConfig
236236

237237
# Configure Redis backend
238238
redis_config = RedisConfig(url="redis://localhost:6379")
@@ -295,7 +295,7 @@ admin.add_view(
295295
### Session Backend Configuration
296296

297297
```python
298-
from crudadmin.session.configs import RedisConfig, MemcachedConfig
298+
from crudadmin import CRUDAdmin, RedisConfig, MemcachedConfig
299299

300300
# Redis Sessions (Recommended for Production)
301301
redis_config = RedisConfig(

docs/usage/common-patterns.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ from ecommerce_schemas import (
505505
)
506506

507507
# Configure for e-commerce scale
508-
from crudadmin.session.configs import RedisConfig
508+
from crudadmin import CRUDAdmin, RedisConfig
509509

510510
redis_config = RedisConfig(url="redis://localhost:6379")
511511
crud_admin = CRUDAdmin(
@@ -953,7 +953,7 @@ class AdminConfig:
953953

954954
# Use in setup
955955
def setup_admin():
956-
from crudadmin.session.configs import RedisConfig
956+
from crudadmin import CRUDAdmin, RedisConfig
957957

958958
config = AdminConfig()
959959

@@ -991,7 +991,7 @@ from crudadmin import CRUDAdmin
991991
import os
992992

993993
# Production security configuration with built-in IP restrictions
994-
from crudadmin.session.configs import RedisConfig
994+
from crudadmin import CRUDAdmin, RedisConfig
995995

996996
redis_config = RedisConfig(url=os.getenv("REDIS_URL"))
997997

docs/usage/session-backends.md

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ pip install "crudadmin[redis]"
8484
### Basic Configuration
8585

8686
```python
87-
from crudadmin.session.configs import RedisConfig
87+
from crudadmin import CRUDAdmin, RedisConfig
8888

8989
# Method 1: Using configuration object (recommended)
9090
redis_config = RedisConfig(host="localhost", port=6379, db=0)
@@ -116,7 +116,7 @@ admin = CRUDAdmin(
116116
### Redis with Authentication
117117

118118
```python
119-
from crudadmin.session.configs import RedisConfig
119+
from crudadmin import CRUDAdmin, RedisConfig
120120

121121
# URL with password
122122
redis_config = RedisConfig(url="redis://user:password@localhost:6379/1")
@@ -160,7 +160,7 @@ admin = CRUDAdmin(
160160

161161
```python
162162
import os
163-
from crudadmin.session.configs import RedisConfig
163+
from crudadmin import CRUDAdmin, RedisConfig
164164

165165
# Environment-based configuration
166166
redis_config = RedisConfig(
@@ -183,7 +183,7 @@ admin = CRUDAdmin(
183183
### Advanced Redis Parameters
184184

185185
```python
186-
from crudadmin.session.configs import RedisConfig
186+
from crudadmin import RedisConfig
187187

188188
# Full configuration with all options
189189
redis_config = RedisConfig(
@@ -219,8 +219,7 @@ admin = CRUDAdmin(
219219
For comprehensive Redis configuration:
220220

221221
```python
222-
from crudadmin import CRUDAdmin
223-
from crudadmin.session.configs import RedisConfig
222+
from crudadmin import CRUDAdmin, RedisConfig
224223

225224
# Basic configuration
226225
redis_config = RedisConfig(
@@ -273,8 +272,7 @@ admin = CRUDAdmin(
273272
Redis URLs support the standard format including usernames through RedisConfig:
274273

275274
```python
276-
from crudadmin import CRUDAdmin
277-
from crudadmin.session.configs import RedisConfig
275+
from crudadmin import CRUDAdmin, RedisConfig
278276

279277
# Basic Redis URL
280278
redis_config = RedisConfig(url="redis://localhost:6379/0")
@@ -323,7 +321,7 @@ Redis supports two authentication methods:
323321

324322
1. **Legacy AUTH (Redis < 6.0)**: Uses only password
325323
```python
326-
from crudadmin.session.configs import RedisConfig
324+
from crudadmin import CRUDAdmin, RedisConfig
327325

328326
# URL format
329327
redis_config = RedisConfig(url="redis://:password@localhost:6379/0")
@@ -346,7 +344,7 @@ Redis supports two authentication methods:
346344

347345
2. **ACL Authentication (Redis 6.0+)**: Uses username and password
348346
```python
349-
from crudadmin.session.configs import RedisConfig
347+
from crudadmin import CRUDAdmin, RedisConfig
350348

351349
# URL format
352350
redis_config = RedisConfig(url="redis://username:password@localhost:6379/0")
@@ -388,7 +386,7 @@ pip install "crudadmin[memcached]"
388386
### Basic Configuration
389387

390388
```python
391-
from crudadmin.session.configs import MemcachedConfig
389+
from crudadmin import CRUDAdmin, MemcachedConfig
392390

393391
# Method 1: Server list
394392
memcached_config = MemcachedConfig(servers=["localhost:11211"])
@@ -417,7 +415,7 @@ admin = CRUDAdmin(
417415
### Multiple Servers
418416

419417
```python
420-
from crudadmin.session.configs import MemcachedConfig
418+
from crudadmin import CRUDAdmin, MemcachedConfig
421419

422420
# Multiple servers (first server used due to aiomcache limitations)
423421
memcached_config = MemcachedConfig(servers=[
@@ -435,7 +433,7 @@ admin = CRUDAdmin(
435433

436434
```python
437435
import os
438-
from crudadmin.session.configs import MemcachedConfig
436+
from crudadmin import CRUDAdmin, MemcachedConfig
439437

440438
# Environment-based configuration
441439
memcached_config = MemcachedConfig(
@@ -501,7 +499,7 @@ Combine the performance of Redis/Memcached with the audit capabilities of databa
501499
### Redis + Database Hybrid
502500

503501
```python
504-
from crudadmin.session.configs import RedisConfig
502+
from crudadmin import CRUDAdmin, RedisConfig
505503

506504
# Redis for performance + Database for audit trail
507505
redis_config = RedisConfig(
@@ -523,7 +521,7 @@ admin = CRUDAdmin(
523521
### Memcached + Database Hybrid
524522

525523
```python
526-
from crudadmin.session.configs import MemcachedConfig
524+
from crudadmin import CRUDAdmin, MemcachedConfig
527525

528526
# Memcached for performance + Database for audit trail
529527
memcached_config = MemcachedConfig(
@@ -563,7 +561,7 @@ admin = CRUDAdmin(
563561

564562
```python
565563
import os
566-
from crudadmin.session.configs import RedisConfig
564+
from crudadmin import CRUDAdmin, RedisConfig
567565

568566
# Configure backend based on environment
569567
environment = os.getenv("ENVIRONMENT", "development")
@@ -608,6 +606,8 @@ else:
608606
### Simple Development Setup
609607

610608
```python
609+
from crudadmin import CRUDAdmin
610+
611611
# No external dependencies required
612612
admin = CRUDAdmin(
613613
session=get_session,
@@ -620,7 +620,7 @@ admin = CRUDAdmin(
620620

621621
```python
622622
import os
623-
from crudadmin.session.configs import RedisConfig
623+
from crudadmin import CRUDAdmin, RedisConfig
624624

625625
redis_config = RedisConfig(
626626
host=os.environ["REDIS_HOST"],
@@ -643,7 +643,7 @@ admin = CRUDAdmin(
643643

644644
```python
645645
import os
646-
from crudadmin.session.configs import RedisConfig
646+
from crudadmin import CRUDAdmin, RedisConfig
647647

648648
# Redis cluster with connection pooling
649649
redis_config = RedisConfig(
@@ -697,7 +697,7 @@ volumes:
697697
CRUDAdmin configuration objects include comprehensive validation:
698698
699699
```python
700-
from crudadmin.session.configs import RedisConfig, MemcachedConfig
700+
from crudadmin import RedisConfig, MemcachedConfig
701701

702702
# ✅ URL takes precedence when both URL and individual params are set
703703
redis_config = RedisConfig(
@@ -731,7 +731,7 @@ except ValueError as e:
731731
### Error Handling
732732
733733
```python
734-
from crudadmin.session.configs import RedisConfig
734+
from crudadmin import CRUDAdmin, RedisConfig
735735

736736
try:
737737
redis_config = RedisConfig(
@@ -771,6 +771,8 @@ except ConnectionError:
771771
### Session Cleanup
772772

773773
```python
774+
from crudadmin import CRUDAdmin
775+
774776
# Configure automatic cleanup
775777
admin = CRUDAdmin(
776778
session=get_session,
@@ -783,7 +785,7 @@ admin = CRUDAdmin(
783785
### Connection Pooling
784786

785787
```python
786-
from crudadmin.session.configs import RedisConfig
788+
from crudadmin import CRUDAdmin, RedisConfig
787789

788790
# Redis with optimized connection pooling
789791
redis_config = RedisConfig(
@@ -804,6 +806,8 @@ admin = CRUDAdmin(
804806
### Session Limits
805807

806808
```python
809+
from crudadmin import CRUDAdmin
810+
807811
# Prevent memory exhaustion
808812
admin = CRUDAdmin(
809813
session=get_session,
@@ -881,7 +885,7 @@ Then use them in your configuration:
881885

882886
```python
883887
import os
884-
from crudadmin.session.configs import RedisConfig
888+
from crudadmin import CRUDAdmin, RedisConfig
885889

886890
# Create configuration from environment variables
887891
redis_config = RedisConfig(

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "crudadmin"
3-
version = "0.4.0"
3+
version = "0.4.1"
44
description = "FastAPI-based admin interface with authentication, event logging and CRUD operations"
55
readme = "README.md"
66
requires-python = ">=3.9.2"

0 commit comments

Comments
 (0)