%global _empty_manifest_terminate_build 0
Name:		python-sql-queries
Version:	0.1.2
Release:	1
Summary:	Build simple SQL queries fast and clean
License:	GNU General Public License v3 (GPLv3)
URL:		https://pypi.org/project/sql-queries/
Source0:	https://mirrors.aliyun.com/pypi/web/packages/44/8b/39110589bbe30163ca4533db0833b892c3397a89f9a49e86f511cce574ad/sql_queries-0.1.2.tar.gz
BuildArch:	noarch


%description
Are you finding yourself writing long strings to build up a SQL query in python
to communicate with your SQL database? Then **sql_queries** is what you are looking for.
This package provides you with tools to build simple SQL queries from the ground up,
without having to manually type out formatted spaghetti strings over and over again. 
With this module, you'll no longer need codeblocks like this to write your queries :

```python
field = 'x'
table = 'a'
cond = 10

query = 'SELECT {} FROM {} WHERE {} = {}'.format(field, table, field, cond)
```

And this is only a simple example. 
The **sql_queries** equivalent of the above looks like this:

```python
from sql_query import sql_select

query = sql_select('x', 'a')
query.where(attr='x', cond=10)
```

A simple *SELECT-FROM-WHERE* example has been demonstrated above with the **sql_select** object.
This object also supports *GROUP BY*, *HAVING*, *ORDER BY*, *LIMIT* and *JOIN* statements.
There is also the **sql_update** object, which supports *UPDATE*, *SET* and *WHERE* statements.
Review the documentation to get a better understanding of how to implement these statements.
For a quick demo you can also view to one minute demo's to get you started with this module.
These can be found on [youtube](https://www.youtube.com/playlist?list=PLI4WFrsrAg8sCeBj5xdJ6n79_3Yq3Sz23).

Convert a **sql_query** (sub)object to a string using the build-in str() function to get your 
SQL query as text. The result can be used directly in for example pandas' *pd.read_sql_query()*
or sqlalchemy's *engine.execute(text())* methods.

### Known limitations for this version:
* Exceptions haven't yet been properly implemented.
* The .join method can only be used in combination with loading plain field (e.g. using COUNT(FieldX) in the SELECT statement will result in an invalid query)
* The module has only been properly tested with a SQLite3 database.

### Tutorial video's
A series of one minute demo's to get started with this module can be found on [youtube](https://www.youtube.com/playlist?list=PLI4WFrsrAg8sCeBj5xdJ6n79_3Yq3Sz23).




%package -n python3-sql-queries
Summary:	Build simple SQL queries fast and clean
Provides:	python-sql-queries
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-sql-queries
Are you finding yourself writing long strings to build up a SQL query in python
to communicate with your SQL database? Then **sql_queries** is what you are looking for.
This package provides you with tools to build simple SQL queries from the ground up,
without having to manually type out formatted spaghetti strings over and over again. 
With this module, you'll no longer need codeblocks like this to write your queries :

```python
field = 'x'
table = 'a'
cond = 10

query = 'SELECT {} FROM {} WHERE {} = {}'.format(field, table, field, cond)
```

And this is only a simple example. 
The **sql_queries** equivalent of the above looks like this:

```python
from sql_query import sql_select

query = sql_select('x', 'a')
query.where(attr='x', cond=10)
```

A simple *SELECT-FROM-WHERE* example has been demonstrated above with the **sql_select** object.
This object also supports *GROUP BY*, *HAVING*, *ORDER BY*, *LIMIT* and *JOIN* statements.
There is also the **sql_update** object, which supports *UPDATE*, *SET* and *WHERE* statements.
Review the documentation to get a better understanding of how to implement these statements.
For a quick demo you can also view to one minute demo's to get you started with this module.
These can be found on [youtube](https://www.youtube.com/playlist?list=PLI4WFrsrAg8sCeBj5xdJ6n79_3Yq3Sz23).

Convert a **sql_query** (sub)object to a string using the build-in str() function to get your 
SQL query as text. The result can be used directly in for example pandas' *pd.read_sql_query()*
or sqlalchemy's *engine.execute(text())* methods.

### Known limitations for this version:
* Exceptions haven't yet been properly implemented.
* The .join method can only be used in combination with loading plain field (e.g. using COUNT(FieldX) in the SELECT statement will result in an invalid query)
* The module has only been properly tested with a SQLite3 database.

### Tutorial video's
A series of one minute demo's to get started with this module can be found on [youtube](https://www.youtube.com/playlist?list=PLI4WFrsrAg8sCeBj5xdJ6n79_3Yq3Sz23).




%package help
Summary:	Development documents and examples for sql-queries
Provides:	python3-sql-queries-doc
%description help
Are you finding yourself writing long strings to build up a SQL query in python
to communicate with your SQL database? Then **sql_queries** is what you are looking for.
This package provides you with tools to build simple SQL queries from the ground up,
without having to manually type out formatted spaghetti strings over and over again. 
With this module, you'll no longer need codeblocks like this to write your queries :

```python
field = 'x'
table = 'a'
cond = 10

query = 'SELECT {} FROM {} WHERE {} = {}'.format(field, table, field, cond)
```

And this is only a simple example. 
The **sql_queries** equivalent of the above looks like this:

```python
from sql_query import sql_select

query = sql_select('x', 'a')
query.where(attr='x', cond=10)
```

A simple *SELECT-FROM-WHERE* example has been demonstrated above with the **sql_select** object.
This object also supports *GROUP BY*, *HAVING*, *ORDER BY*, *LIMIT* and *JOIN* statements.
There is also the **sql_update** object, which supports *UPDATE*, *SET* and *WHERE* statements.
Review the documentation to get a better understanding of how to implement these statements.
For a quick demo you can also view to one minute demo's to get you started with this module.
These can be found on [youtube](https://www.youtube.com/playlist?list=PLI4WFrsrAg8sCeBj5xdJ6n79_3Yq3Sz23).

Convert a **sql_query** (sub)object to a string using the build-in str() function to get your 
SQL query as text. The result can be used directly in for example pandas' *pd.read_sql_query()*
or sqlalchemy's *engine.execute(text())* methods.

### Known limitations for this version:
* Exceptions haven't yet been properly implemented.
* The .join method can only be used in combination with loading plain field (e.g. using COUNT(FieldX) in the SELECT statement will result in an invalid query)
* The module has only been properly tested with a SQLite3 database.

### Tutorial video's
A series of one minute demo's to get started with this module can be found on [youtube](https://www.youtube.com/playlist?list=PLI4WFrsrAg8sCeBj5xdJ6n79_3Yq3Sz23).




%prep
%autosetup -n sql_queries-0.1.2

%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-sql-queries -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.2-1
- Package Spec generated