-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #41 from cl3wis/dev
Dev
- Loading branch information
Showing
5 changed files
with
59 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
__author__ = "Christian Bailey ([email protected])" | ||
__version__ = "0.3.0" | ||
__version__ = "0.3.1" | ||
|
||
import os | ||
import json | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
JsonPydexer | ||
=========== | ||
|
||
A (python) indexer for large collections of json files. In development | ||
and probably not good for general use yet. | ||
|
||
Installation | ||
------------ | ||
|
||
``pip install JsonPydexer`` | ||
|
||
Usage | ||
----- | ||
|
||
Starting from zero | ||
~~~~~~~~~~~~~~~~~~ | ||
|
||
.. code:: python | ||
>>>from JsonPydexer import JsonPydexer | ||
>>># initialize with the root directory containing your json files | ||
>>>jp = JsonPydexer("test_data/3") | ||
>>># index on your keys. provide a list of keynamess. keyname elements can be a string for a | ||
>>># field at root level, or a list of strings for nested fields | ||
>>>jp.index(["id", "name", ["field_in_root", "field_below"]]) | ||
Opening an existing index | ||
~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
.. code:: python | ||
>>># initialize with the root directory containing your json files and .jp.pkl | ||
>>>jp = JsonPydexer("test_data/3") | ||
>>># get all the files that match a search string for non-unique index | ||
>>>search_string = "alice" | ||
>>>for filename in jp.get_files(["name"], search_string): | ||
>>> print(filename) | ||
1.json | ||
3.json | ||
>>># get the file matching a search string for a unique index | ||
>>>filename = jp.get_file(["id"], "id2") | ||
>>>print(filename) | ||
2.json | ||
Added, removed, or modified JSON files? Update the index | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
.. code:: python | ||
>>>jp = JsonPydexer("test_data/3") | ||
>>>jp.update() | ||
New files in the directory will be added to the index. Coming soon are: | ||
removing files not present in the directory from the index, and checking | ||
for modified files in the directory. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
[metadata] | ||
description-file = README.md | ||
description-file = README.rst |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters