tinydb
v4.8.2
TinyDB는 여러분의 행복을 위해 최적화된 경량 문서 중심 데이터베이스입니다 :) 순수 Python으로 작성되었으며 외부 종속성이 없습니다. 대상은 SQL-DB 또는 외부 데이터베이스 서버에 의해 작동되지 않는 작은 앱입니다.
TinyDB는 다음과 같습니다.
dict
로 표시됨)를 저장할 수 있습니다.모든 세부 사항을 바로 알아보려면 TinyDB 문서를 참조하세요. 일반 개발, 확장 등 TinyDB와 관련된 모든 것에 대해 토론하거나 토론 포럼에서 TinyDB 기반 프로젝트를 선보일 수도 있습니다.
TinyDB는 Python 3.8 - 3.13 및 PyPy3에서 테스트되었습니다.
이 프로젝트는 유지 관리 모드에 있습니다. 중요한 새로운 기능이나 아키텍처 변경이 계획되지 않은 성숙하고 안정적인 상태에 도달했습니다. 그렇긴 하지만, 커뮤니티에서 제공한 버그 수정이나 기능에 대한 릴리스는 여전히 있을 것입니다. 특히 여기에서 이것이 무엇을 의미하는지 자세히 알아보세요.
> >> from tinydb import TinyDB , Query
> >> db = TinyDB ( '/path/to/db.json' )
> >> db . insert ({ 'int' : 1 , 'char' : 'a' })
> >> db . insert ({ 'int' : 1 , 'char' : 'b' })
> >> User = Query ()
> >> # Search for a field value
>> > db . search ( User . name == 'John' )
[{ 'name' : 'John' , 'age' : 22 }, { 'name' : 'John' , 'age' : 37 }]
> >> # Combine two queries with logical and
>> > db . search (( User . name == 'John' ) & ( User . age <= 30 ))
[{ 'name' : 'John' , 'age' : 22 }]
> >> # Combine two queries with logical or
>> > db . search (( User . name == 'John' ) | ( User . name == 'Bob' ))
[{ 'name' : 'John' , 'age' : 22 }, { 'name' : 'John' , 'age' : 37 }, { 'name' : 'Bob' , 'age' : 42 }]
> >> # Negate a query with logical not
>> > db . search ( ~ ( User . name == 'John' ))
[{ 'name' : 'Megan' , 'age' : 27 }, { 'name' : 'Bob' , 'age' : 42 }]
> >> # Apply transformation to field with `map`
>> > db . search (( User . age . map ( lambda x : x + x ) == 44 ))
> >> [{ 'name' : 'John' , 'age' : 22 }]
> >> # More possible comparisons: != < > <= >=
>> > # More possible checks: where(...).matches(regex), where(...).test(your_test_func)
> >> table = db . table ( 'name' )
> >> table . insert ({ 'value' : True })
> >> table . all ()
[{ 'value' : True }]
> >> from tinydb . storages import JSONStorage
> >> from tinydb . middlewares import CachingMiddleware
> >> db = TinyDB ( '/path/to/db.json' , storage = CachingMiddleware ( JSONStorage ))
버그 보고, 개선 사항 및 새로운 아이디어 논의, 확장 기능 작성 등 TinyDB에 대한 기여를 환영합니다! 시작하는 방법은 다음과 같습니다.