semvec/pypi-packages huggingface dataset:
nwbindexer 0.1.3
Two tools for searching data stored using the NWB (Neurodata Without Borders) format
Requires Python: >=3.7

nwbindexer and search_nwb
=========================

This repository contains two tools for searching within NWB (HDF5) files:

* **nwbindexer** - builds an SQLite database (also called the 'index') containing metadata in
  a collection of NWB files and and allows searching the metadata in the database.
* **search_nwb.py** - searches within one or more NWB files directly (without building an index).

A related third tool is the **NWB Query Engine**.  It is at:
https://github.com/jezekp/NwbQueryEngine.  The two tools in this repository
use a query syntax similar to the one used in the NWB
Query Engine.

Documentation for nwbindexer is at: https://nwbindexer.readthedocs.io


Installation & Usage
--------------------

Instructions for installation and usage are at:
https://nwbindexer.readthedocs.io

License
-------

License terms are in file ``license.txt`` (reproduced below).


Copyright ©2019. The Regents of the University of California (Regents).  All Rights Reserved.

Permission to use, copy, modify, and distribute this software
and its documentation for educational, research, and not-for-profit purposes, without 
fee and without a signed licensing agreement, is hereby granted, provided that the 
above copyright notice, this paragraph and the following two paragraphs appear in all 
copies, modifications, and distributions.  Contact The Office of Technology Licensing, 
UC Berkeley, 2150 Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620,
(510) 643-7201, otl@berkeley.edu, http://ipira.berkeley.edu/industry-info 
for commercial licensing opportunities.

IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 
INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE 
OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN ADVISED OF THE 
POSSIBILITY OF SUCH DAMAGE.

REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 
THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED HEREUNDER IS PROVIDED 
"AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, 
ENHANCEMENTS, OR MODIFICATIONS.
peewee-db-evolve 3.7.6
Schema Evolution for Peewee

Peewee DB Evolve
================

Diffs your models against your database, and outputs SQL to
(non-destructively) update your schema.

Think of it as ``db.create_tables()`` on steriods (which doesn't drop
your database).

You can also think of it as schema migrations, without having to
actually write the migrations.

Quick Start
-----------

1. Run: ``sudo pip install peewee-db-evolve``
2. Add ``import peeweedbevolve`` anywhere before your models are
   defined.
3. Run ``db.evolve()`` where you would have normally run
   ``db.create_tables()``, and enjoy!

Example
-------

See our `Hello
World <https://github.com/keredson/peewee-db-evolve/tree/master/examples/hello_world>`__
example.

.. figure:: https://cloud.githubusercontent.com/assets/2049665/17993037/1d1c8cf2-6b12-11e6-8591-cd11eb263938.png
   :alt: image

   image

Supported Databases
-------------------

-  PostgreSQL
-  MySQL

Frequently Asked Questions
--------------------------

*Does this work with existing projects, or only with new projects?*

This works very well with existing projects. If your API only works with
new projects, you're probably doing it wrong.

*Don't you give up control by not writing your own migrations?*

Managing your schema by writing your own migrations is kind of like
managing your source code by writing your own ``patch`` files in
addition to writing your actual code. A well vetted ``diff`` tool is
going to be better and faster at it than you.

*How old / well vetted is this tool?*

This project has been in production use since August 2016. (We switched
to Peewee as an ORM.) But it's a style of schema management I've been
using for ~10 years now.

*How can I prevent ``peewee-db-evolve`` from evolving a specific table
or class?*

In the class' ``Meta`` class, add ``evolve = False`` and
``peewee-db-evolve`` will ignore it. If you don't have a class for a
specific table, just make a do-nothing dummy class for it.

Tests
-----

How to run:

.. code:: bash

    $ python3 test.py
    ..................................................................................................
    ----------------------------------------------------------------------
    Ran 98 tests in 39.860s

    OK