diff options
Diffstat (limited to 'python-schemainspect.spec')
| -rw-r--r-- | python-schemainspect.spec | 244 |
1 files changed, 244 insertions, 0 deletions
diff --git a/python-schemainspect.spec b/python-schemainspect.spec new file mode 100644 index 0000000..61329bb --- /dev/null +++ b/python-schemainspect.spec @@ -0,0 +1,244 @@ +%global _empty_manifest_terminate_build 0 +Name: python-schemainspect +Version: 3.1.1663587362 +Release: 1 +Summary: Schema inspection for PostgreSQL (and possibly others) +License: Unlicense +URL: https://github.com/djrobstep/schemainspect +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/00/41/c2ea77a94a7dcbde0d5b9cce70018a730e4ab5504628c14ced657c87217a/schemainspect-3.1.1663587362.tar.gz +BuildArch: noarch + +Requires: python3-sqlalchemy + +%description +# `schemainspect`: SQL Schema Inspection + +Schema inspection for PostgreSQL (and potentially others in the future). + +Inspects tables, views, materialized views, constraints, indexes, sequences, enums, functions, and extensions. Handles table partitioning and inheritance. + +**Limitations:** Function inspection only confirmed to work with SQL/PLPGSQL languages so far. + +## Basic Usage + +Get an inspection object from an already opened SQLAlchemy session or connection as follows: + + from schemainspect import get_inspector + from sqlbag import S + + with S('postgresql:///example') as s: + i = get_inspector(s) + +The inspection object has attributes for tables, views, and all the other things it tracks. At each of these attributes you'll find a dictionary (OrderedDict) mapping from fully-qualified-and-quoted-name-of-thing-in-database to information object. + +For instance, the information about a table *books* would be accessed as follows: + + >>> books_table = i.tables['"public"."books"'] + >>> books_table.name + 'books' + >>> books_table.schema + 'public' + >>> [each.name for each in books_table.columns] + ['id', 'title', 'isbn'] + + +## Documentation + +Documentation is a bit patchy at the moment. Watch this space! + + +## Author Credits + +Initial development, maintenance: + +- [djrobstep](https://github.com/djrobstep) + +Contributions: + +- [BenSjoberg](https://github.com/BenSjoberg) +- [johto](https://github.com/johto) + + +## Install + +Install with [pip](https://pip.pypa.io): + + $ pip install schemainspect + +To install psycopg2 (the PostgreSQL driver) at the same time as well: + + $ pip install schemainspect[pg] + + +%package -n python3-schemainspect +Summary: Schema inspection for PostgreSQL (and possibly others) +Provides: python-schemainspect +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-schemainspect +# `schemainspect`: SQL Schema Inspection + +Schema inspection for PostgreSQL (and potentially others in the future). + +Inspects tables, views, materialized views, constraints, indexes, sequences, enums, functions, and extensions. Handles table partitioning and inheritance. + +**Limitations:** Function inspection only confirmed to work with SQL/PLPGSQL languages so far. + +## Basic Usage + +Get an inspection object from an already opened SQLAlchemy session or connection as follows: + + from schemainspect import get_inspector + from sqlbag import S + + with S('postgresql:///example') as s: + i = get_inspector(s) + +The inspection object has attributes for tables, views, and all the other things it tracks. At each of these attributes you'll find a dictionary (OrderedDict) mapping from fully-qualified-and-quoted-name-of-thing-in-database to information object. + +For instance, the information about a table *books* would be accessed as follows: + + >>> books_table = i.tables['"public"."books"'] + >>> books_table.name + 'books' + >>> books_table.schema + 'public' + >>> [each.name for each in books_table.columns] + ['id', 'title', 'isbn'] + + +## Documentation + +Documentation is a bit patchy at the moment. Watch this space! + + +## Author Credits + +Initial development, maintenance: + +- [djrobstep](https://github.com/djrobstep) + +Contributions: + +- [BenSjoberg](https://github.com/BenSjoberg) +- [johto](https://github.com/johto) + + +## Install + +Install with [pip](https://pip.pypa.io): + + $ pip install schemainspect + +To install psycopg2 (the PostgreSQL driver) at the same time as well: + + $ pip install schemainspect[pg] + + +%package help +Summary: Development documents and examples for schemainspect +Provides: python3-schemainspect-doc +%description help +# `schemainspect`: SQL Schema Inspection + +Schema inspection for PostgreSQL (and potentially others in the future). + +Inspects tables, views, materialized views, constraints, indexes, sequences, enums, functions, and extensions. Handles table partitioning and inheritance. + +**Limitations:** Function inspection only confirmed to work with SQL/PLPGSQL languages so far. + +## Basic Usage + +Get an inspection object from an already opened SQLAlchemy session or connection as follows: + + from schemainspect import get_inspector + from sqlbag import S + + with S('postgresql:///example') as s: + i = get_inspector(s) + +The inspection object has attributes for tables, views, and all the other things it tracks. At each of these attributes you'll find a dictionary (OrderedDict) mapping from fully-qualified-and-quoted-name-of-thing-in-database to information object. + +For instance, the information about a table *books* would be accessed as follows: + + >>> books_table = i.tables['"public"."books"'] + >>> books_table.name + 'books' + >>> books_table.schema + 'public' + >>> [each.name for each in books_table.columns] + ['id', 'title', 'isbn'] + + +## Documentation + +Documentation is a bit patchy at the moment. Watch this space! + + +## Author Credits + +Initial development, maintenance: + +- [djrobstep](https://github.com/djrobstep) + +Contributions: + +- [BenSjoberg](https://github.com/BenSjoberg) +- [johto](https://github.com/johto) + + +## Install + +Install with [pip](https://pip.pypa.io): + + $ pip install schemainspect + +To install psycopg2 (the PostgreSQL driver) at the same time as well: + + $ pip install schemainspect[pg] + + +%prep +%autosetup -n schemainspect-3.1.1663587362 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-schemainspect -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 3.1.1663587362-1 +- Package Spec generated |
