%global _empty_manifest_terminate_build 0
Name: python-KivyAuth
Version: 2.3.3
Release: 1
Summary: Integrate Google, Facebook, Github & Twitter login in kivy applications
License: MIT License
URL: https://github.com/shashi278/social-auth-kivy
Source0: https://mirrors.aliyun.com/pypi/web/packages/9c/12/9625b3a98472e23f26d0bb37f40fe730fca515355bdb837681ca8fc51cba/KivyAuth-2.3.3.tar.gz
BuildArch: noarch
Requires: python3-kivy
Requires: python3-oauthlib
Requires: python3-werkzeug
Requires: python3-flask
Requires: python3-requests
%description
# KivyAuth
#### *Integrate Google, Facebook, Github & Twitter login in kivy applications*
[](https://travis-ci.org/github/shashi278/social-auth-kivy/) [](https://www.python.org/downloads/release/python-360/) [](https://pypi.org/project/KivyAuth/) [](https://github.com/shashi278/social-auth-kivy/blob/master/LICENSE) [](https://pypi.org/project/KivyAuth/#modal-close) [](https://pypi.org/project/KivyAuth/) []() []()
###

##
### KivyAuth Desktop Test Demo

##
### Changelog
#### v2.3.2
* Fixed crashing when user doesn't have a photo
#### v2.3.1 - KivyAuth cross-platform
* Kivyauth APIs are now platform-independent
* Desktop support for linux, win and possibly mac
#### v2.3 - KivyAuth cross-platform
* Desktop support added(in alpha)
* All android auths are inside `kivyauth.android` while those for desktops are inside `kivyauth.desktop`
#### v2.2
* Added Auto-login feature
* `login_providers` are now inside `kivyauth` rather than `kivyauth.providers`
#### v2.0
* Individual login providers are moved into respective folders
* Fix problem of not being able to use individual login methods
* Now it's relatively easier to use the library
### How to use
### Instruction for testing out KivyAuth for Desktop:
* pip install kivyauth
* **Make Sure you've created OAuth apps and have their CLIENT_ID and CLIENT_SECRET handy before running demo application**
### Note(for android):
Make sure you go through the [prerequisites](https://github.com/shashi278/social-auth-kivy/blob/master/docs/prerequisites.md)
for the login methods you're going to integrate in your application before moving further
#
The example below shows integrating google login. Similarly other login methods can also be used.
* Include necessary imports for google login
```python
from kivyauth.google_auth import initialize_google, login_google, logout_google
```
* Initialize google login inside your app's build method
```python
def build(self):
initialize_google(self.after_login, self.error_listener)
```
`after_login` is a function to be called upon successful login with `name`, `email`, and `photo url` of the user. So, create a success listener function which accepts three parameters and perform after-login stuffs(like updating UI, etc.). `error_listener` is called in case of any error and it doesn't accept any argument.
* You can also add auto-login( if the user is already logged in then directly move to after-login stuff) inside app's `on_start` method as below(mention only login providers you are using in your app):
```python
def on_start(self):
if auto_login(login_providers.google):
self.current_provider = login_providers.google
elif auto_login(login_providers.facebook):
self.current_provider = login_providers.facebook
elif auto_login(login_providers.github):
self.current_provider = login_providers.github
elif auto_login(login_providers.twitter):
self.current_provider = login_providers.twitter
```
* Next, call `login_google()` upon a button click to initiate login process.
* Similarly, to logout, call `logout_google` as
```python
logout_google(self.after_logout)
```
`after_logout` is a function to be called after user gets logged out. For example, to update UI.
* Make sure to include `kivyauth` as a requirement in the buildozer.spec file
```spec
requirements = python3,kivy,kivyauth
```
* See [demo](demo/) for reference.
##
### TODO:
* Make it cross-platform
### Other

**Contributing**: Contributions are more than welcome. Looking for contributions in making it cross-platform(specifically for iOS) and better documentation.
Feel free to ping me or raise an issue if there's any difficulty in packaging it up.
%package -n python3-KivyAuth
Summary: Integrate Google, Facebook, Github & Twitter login in kivy applications
Provides: python-KivyAuth
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-KivyAuth
# KivyAuth
#### *Integrate Google, Facebook, Github & Twitter login in kivy applications*
[](https://travis-ci.org/github/shashi278/social-auth-kivy/) [](https://www.python.org/downloads/release/python-360/) [](https://pypi.org/project/KivyAuth/) [](https://github.com/shashi278/social-auth-kivy/blob/master/LICENSE) [](https://pypi.org/project/KivyAuth/#modal-close) [](https://pypi.org/project/KivyAuth/) []() []()
###

##
### KivyAuth Desktop Test Demo

##
### Changelog
#### v2.3.2
* Fixed crashing when user doesn't have a photo
#### v2.3.1 - KivyAuth cross-platform
* Kivyauth APIs are now platform-independent
* Desktop support for linux, win and possibly mac
#### v2.3 - KivyAuth cross-platform
* Desktop support added(in alpha)
* All android auths are inside `kivyauth.android` while those for desktops are inside `kivyauth.desktop`
#### v2.2
* Added Auto-login feature
* `login_providers` are now inside `kivyauth` rather than `kivyauth.providers`
#### v2.0
* Individual login providers are moved into respective folders
* Fix problem of not being able to use individual login methods
* Now it's relatively easier to use the library
### How to use
### Instruction for testing out KivyAuth for Desktop:
* pip install kivyauth
* **Make Sure you've created OAuth apps and have their CLIENT_ID and CLIENT_SECRET handy before running demo application**
### Note(for android):
Make sure you go through the [prerequisites](https://github.com/shashi278/social-auth-kivy/blob/master/docs/prerequisites.md)
for the login methods you're going to integrate in your application before moving further
#
The example below shows integrating google login. Similarly other login methods can also be used.
* Include necessary imports for google login
```python
from kivyauth.google_auth import initialize_google, login_google, logout_google
```
* Initialize google login inside your app's build method
```python
def build(self):
initialize_google(self.after_login, self.error_listener)
```
`after_login` is a function to be called upon successful login with `name`, `email`, and `photo url` of the user. So, create a success listener function which accepts three parameters and perform after-login stuffs(like updating UI, etc.). `error_listener` is called in case of any error and it doesn't accept any argument.
* You can also add auto-login( if the user is already logged in then directly move to after-login stuff) inside app's `on_start` method as below(mention only login providers you are using in your app):
```python
def on_start(self):
if auto_login(login_providers.google):
self.current_provider = login_providers.google
elif auto_login(login_providers.facebook):
self.current_provider = login_providers.facebook
elif auto_login(login_providers.github):
self.current_provider = login_providers.github
elif auto_login(login_providers.twitter):
self.current_provider = login_providers.twitter
```
* Next, call `login_google()` upon a button click to initiate login process.
* Similarly, to logout, call `logout_google` as
```python
logout_google(self.after_logout)
```
`after_logout` is a function to be called after user gets logged out. For example, to update UI.
* Make sure to include `kivyauth` as a requirement in the buildozer.spec file
```spec
requirements = python3,kivy,kivyauth
```
* See [demo](demo/) for reference.
##
### TODO:
* Make it cross-platform
### Other

**Contributing**: Contributions are more than welcome. Looking for contributions in making it cross-platform(specifically for iOS) and better documentation.
Feel free to ping me or raise an issue if there's any difficulty in packaging it up.
%package help
Summary: Development documents and examples for KivyAuth
Provides: python3-KivyAuth-doc
%description help
# KivyAuth
#### *Integrate Google, Facebook, Github & Twitter login in kivy applications*
[](https://travis-ci.org/github/shashi278/social-auth-kivy/) [](https://www.python.org/downloads/release/python-360/) [](https://pypi.org/project/KivyAuth/) [](https://github.com/shashi278/social-auth-kivy/blob/master/LICENSE) [](https://pypi.org/project/KivyAuth/#modal-close) [](https://pypi.org/project/KivyAuth/) []() []()
###

##
### KivyAuth Desktop Test Demo

##
### Changelog
#### v2.3.2
* Fixed crashing when user doesn't have a photo
#### v2.3.1 - KivyAuth cross-platform
* Kivyauth APIs are now platform-independent
* Desktop support for linux, win and possibly mac
#### v2.3 - KivyAuth cross-platform
* Desktop support added(in alpha)
* All android auths are inside `kivyauth.android` while those for desktops are inside `kivyauth.desktop`
#### v2.2
* Added Auto-login feature
* `login_providers` are now inside `kivyauth` rather than `kivyauth.providers`
#### v2.0
* Individual login providers are moved into respective folders
* Fix problem of not being able to use individual login methods
* Now it's relatively easier to use the library
### How to use
### Instruction for testing out KivyAuth for Desktop:
* pip install kivyauth
* **Make Sure you've created OAuth apps and have their CLIENT_ID and CLIENT_SECRET handy before running demo application**
### Note(for android):
Make sure you go through the [prerequisites](https://github.com/shashi278/social-auth-kivy/blob/master/docs/prerequisites.md)
for the login methods you're going to integrate in your application before moving further
#
The example below shows integrating google login. Similarly other login methods can also be used.
* Include necessary imports for google login
```python
from kivyauth.google_auth import initialize_google, login_google, logout_google
```
* Initialize google login inside your app's build method
```python
def build(self):
initialize_google(self.after_login, self.error_listener)
```
`after_login` is a function to be called upon successful login with `name`, `email`, and `photo url` of the user. So, create a success listener function which accepts three parameters and perform after-login stuffs(like updating UI, etc.). `error_listener` is called in case of any error and it doesn't accept any argument.
* You can also add auto-login( if the user is already logged in then directly move to after-login stuff) inside app's `on_start` method as below(mention only login providers you are using in your app):
```python
def on_start(self):
if auto_login(login_providers.google):
self.current_provider = login_providers.google
elif auto_login(login_providers.facebook):
self.current_provider = login_providers.facebook
elif auto_login(login_providers.github):
self.current_provider = login_providers.github
elif auto_login(login_providers.twitter):
self.current_provider = login_providers.twitter
```
* Next, call `login_google()` upon a button click to initiate login process.
* Similarly, to logout, call `logout_google` as
```python
logout_google(self.after_logout)
```
`after_logout` is a function to be called after user gets logged out. For example, to update UI.
* Make sure to include `kivyauth` as a requirement in the buildozer.spec file
```spec
requirements = python3,kivy,kivyauth
```
* See [demo](demo/) for reference.
##
### TODO:
* Make it cross-platform
### Other

**Contributing**: Contributions are more than welcome. Looking for contributions in making it cross-platform(specifically for iOS) and better documentation.
Feel free to ping me or raise an issue if there's any difficulty in packaging it up.
%prep
%autosetup -n KivyAuth-2.3.3
%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-KivyAuth -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Tue Jun 20 2023 Python_Bot - 2.3.3-1
- Package Spec generated