summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-instagram-private-api.spec468
-rw-r--r--sources1
3 files changed, 470 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..7c6ef53 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/instagram_private_api-1.6.0.0.tar.gz
diff --git a/python-instagram-private-api.spec b/python-instagram-private-api.spec
new file mode 100644
index 0000000..c792992
--- /dev/null
+++ b/python-instagram-private-api.spec
@@ -0,0 +1,468 @@
+%global _empty_manifest_terminate_build 0
+Name: python-instagram-private-api
+Version: 1.6.0.0
+Release: 1
+Summary: A client interface for the private Instagram API.
+License: MIT
+URL: https://github.com/ping/instagram_private_api/tree/master
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ca/81/282d8f016de44260296e1fd50ec6aaadb6c542d3bab982eb14783b54cf8b/instagram_private_api-1.6.0.0.tar.gz
+BuildArch: noarch
+
+
+%description
+# Instagram Private API
+
+A Python wrapper for the Instagram private API with no 3rd party dependencies. Supports both the app and web APIs.
+
+![Python 2.7, 3.5](https://img.shields.io/badge/Python-2.7%2C%203.5-3776ab.svg?maxAge=2592000)
+[![Release](https://img.shields.io/github/release/ping/instagram_private_api.svg?colorB=ff7043)](https://github.com/ping/instagram_private_api/releases)
+[![Docs](https://img.shields.io/badge/docs-readthedocs.io-ff4980.svg?maxAge=2592000)](https://instagram-private-api.readthedocs.io/en/latest/)
+[![Build](https://img.shields.io/travis/ping/instagram_private_api.svg)](https://travis-ci.org/ping/instagram_private_api)
+
+[![Build](https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png)](https://www.buymeacoffee.com/ping)
+
+## Overview
+
+I wrote this to access Instagram's API when they clamped down on developer access. Because this is meant to achieve [parity](COMPAT.md) with the [official public API](https://www.instagram.com/developer/endpoints/), methods not available in the public API will generally have lower priority.
+
+Problems? Please check the [docs](https://instagram-private-api.readthedocs.io/en/latest/) before submitting an issue.
+
+## Features
+
+- Supports many functions that are only available through the official app, such as:
+ * Multiple feeds, such as [user feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.user_feed), [location feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.feed_location), [tag feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.feed_tag), [popular feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.feed_popular)
+ * Post a [photo](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_photo) or [video](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_video) to your feed or stories
+ * [Like](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_like)/[unlike](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.delete_like) posts
+ * Get [post comments](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.media_comments)
+ * [Post](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_comment)/[delete](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.delete_comment) comments
+ * [Like](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.comment_like)/[unlike](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.comment_unlike) comments
+ * [Follow](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.friendships_create)/[unfollow](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.friendships_destroy) users
+ * User [stories](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.user_story_feed)
+ * And [more](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client)!
+- The web api client supports a subset of functions that do not require login, such as:
+ * Get user [info](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.user_info) and [feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.user_feed)
+ * Get [post comments](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.media_comments)
+ * And [more](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client)!
+- Compatible with functions available through the public API using the ClientCompatPatch ([app](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.ClientCompatPatch)/[web](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.ClientCompatPatch)) utility class
+- Beta Python 3 support
+
+An [extension module](https://github.com/ping/instagram_private_api_extensions) is available to help with common tasks like pagination, posting photos or videos.
+
+## Documentation
+
+Documentation is available at https://instagram-private-api.readthedocs.io/en/latest/
+
+## Install
+
+Install with pip:
+
+``pip install git+https://git@github.com/ping/instagram_private_api.git@1.6.0``
+
+To update:
+
+``pip install git+https://git@github.com/ping/instagram_private_api.git@1.6.0 --upgrade``
+
+To update with latest repo code:
+
+``pip install git+https://git@github.com/ping/instagram_private_api.git --upgrade --force-reinstall``
+
+Tested on Python 2.7 and 3.5.
+
+## Usage
+
+The [app API client](instagram_private_api/) emulates the official app and has a larger set of functions. The [web API client](instagram_web_api/) has a smaller set but can be used without logging in.
+
+Your choice will depend on your use case.
+
+The [``examples/``](examples/) and [``tests/``](tests/) are a good source of detailed sample code on how to use the clients, including a simple way to save the auth cookie for reuse.
+
+### Option 1: Use the [official app's API](instagram_private_api/)
+
+```python
+
+from instagram_private_api import Client, ClientCompatPatch
+
+user_name = 'YOUR_LOGIN_USER_NAME'
+password = 'YOUR_PASSWORD'
+
+api = Client(user_name, password)
+results = api.feed_timeline()
+items = [item for item in results.get('feed_items', [])
+ if item.get('media_or_ad')]
+for item in items:
+ # Manually patch the entity to match the public api as closely as possible, optional
+ # To automatically patch entities, initialise the Client with auto_patch=True
+ ClientCompatPatch.media(item['media_or_ad'])
+ print(item['media_or_ad']['code'])
+```
+
+### Option 2: Use the [official website's API](instagram_web_api/)
+
+```python
+
+from instagram_web_api import Client, ClientCompatPatch, ClientError, ClientLoginError
+
+# Without any authentication
+web_api = Client(auto_patch=True, drop_incompat_keys=False)
+user_feed_info = web_api.user_feed('329452045', count=10)
+for post in user_feed_info:
+ print('%s from %s' % (post['link'], post['user']['username']))
+
+# Some endpoints, e.g. user_following are available only after authentication
+authed_web_api = Client(
+ auto_patch=True, authenticate=True,
+ username='YOUR_USERNAME', password='YOUR_PASSWORD')
+
+following = authed_web_api.user_following('123456')
+for user in following:
+ print(user['username'])
+
+# Note: You can and should cache the cookie even for non-authenticated sessions.
+# This saves the overhead of a single http request when the Client is initialised.
+```
+
+### Avoiding Re-login
+
+You are advised to persist/cache the auth cookie details to avoid logging in every time you make an api call. Excessive logins is a surefire way to get your account flagged for removal. It's also advisable to cache the client details such as user agent, etc together with the auth details.
+
+The saved auth cookie can be reused for up to **90 days**.
+
+## Donate
+
+Want to keep this project going? Please donate generously [https://www.buymeacoffee.com/ping](https://www.buymeacoffee.com/ping)
+
+[![Build](https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png)](https://www.buymeacoffee.com/ping)
+
+## Support
+
+Make sure to review the [contributing documentation](CONTRIBUTING.md) before submitting an issue report or pull request.
+
+## Legal
+
+Disclaimer: This is not affliated, endorsed or certified by Instagram. This is an independent and unofficial API. Strictly **not for spam**. Use at your own risk.
+
+
+
+
+%package -n python3-instagram-private-api
+Summary: A client interface for the private Instagram API.
+Provides: python-instagram-private-api
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-instagram-private-api
+# Instagram Private API
+
+A Python wrapper for the Instagram private API with no 3rd party dependencies. Supports both the app and web APIs.
+
+![Python 2.7, 3.5](https://img.shields.io/badge/Python-2.7%2C%203.5-3776ab.svg?maxAge=2592000)
+[![Release](https://img.shields.io/github/release/ping/instagram_private_api.svg?colorB=ff7043)](https://github.com/ping/instagram_private_api/releases)
+[![Docs](https://img.shields.io/badge/docs-readthedocs.io-ff4980.svg?maxAge=2592000)](https://instagram-private-api.readthedocs.io/en/latest/)
+[![Build](https://img.shields.io/travis/ping/instagram_private_api.svg)](https://travis-ci.org/ping/instagram_private_api)
+
+[![Build](https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png)](https://www.buymeacoffee.com/ping)
+
+## Overview
+
+I wrote this to access Instagram's API when they clamped down on developer access. Because this is meant to achieve [parity](COMPAT.md) with the [official public API](https://www.instagram.com/developer/endpoints/), methods not available in the public API will generally have lower priority.
+
+Problems? Please check the [docs](https://instagram-private-api.readthedocs.io/en/latest/) before submitting an issue.
+
+## Features
+
+- Supports many functions that are only available through the official app, such as:
+ * Multiple feeds, such as [user feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.user_feed), [location feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.feed_location), [tag feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.feed_tag), [popular feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.feed_popular)
+ * Post a [photo](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_photo) or [video](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_video) to your feed or stories
+ * [Like](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_like)/[unlike](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.delete_like) posts
+ * Get [post comments](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.media_comments)
+ * [Post](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_comment)/[delete](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.delete_comment) comments
+ * [Like](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.comment_like)/[unlike](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.comment_unlike) comments
+ * [Follow](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.friendships_create)/[unfollow](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.friendships_destroy) users
+ * User [stories](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.user_story_feed)
+ * And [more](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client)!
+- The web api client supports a subset of functions that do not require login, such as:
+ * Get user [info](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.user_info) and [feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.user_feed)
+ * Get [post comments](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.media_comments)
+ * And [more](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client)!
+- Compatible with functions available through the public API using the ClientCompatPatch ([app](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.ClientCompatPatch)/[web](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.ClientCompatPatch)) utility class
+- Beta Python 3 support
+
+An [extension module](https://github.com/ping/instagram_private_api_extensions) is available to help with common tasks like pagination, posting photos or videos.
+
+## Documentation
+
+Documentation is available at https://instagram-private-api.readthedocs.io/en/latest/
+
+## Install
+
+Install with pip:
+
+``pip install git+https://git@github.com/ping/instagram_private_api.git@1.6.0``
+
+To update:
+
+``pip install git+https://git@github.com/ping/instagram_private_api.git@1.6.0 --upgrade``
+
+To update with latest repo code:
+
+``pip install git+https://git@github.com/ping/instagram_private_api.git --upgrade --force-reinstall``
+
+Tested on Python 2.7 and 3.5.
+
+## Usage
+
+The [app API client](instagram_private_api/) emulates the official app and has a larger set of functions. The [web API client](instagram_web_api/) has a smaller set but can be used without logging in.
+
+Your choice will depend on your use case.
+
+The [``examples/``](examples/) and [``tests/``](tests/) are a good source of detailed sample code on how to use the clients, including a simple way to save the auth cookie for reuse.
+
+### Option 1: Use the [official app's API](instagram_private_api/)
+
+```python
+
+from instagram_private_api import Client, ClientCompatPatch
+
+user_name = 'YOUR_LOGIN_USER_NAME'
+password = 'YOUR_PASSWORD'
+
+api = Client(user_name, password)
+results = api.feed_timeline()
+items = [item for item in results.get('feed_items', [])
+ if item.get('media_or_ad')]
+for item in items:
+ # Manually patch the entity to match the public api as closely as possible, optional
+ # To automatically patch entities, initialise the Client with auto_patch=True
+ ClientCompatPatch.media(item['media_or_ad'])
+ print(item['media_or_ad']['code'])
+```
+
+### Option 2: Use the [official website's API](instagram_web_api/)
+
+```python
+
+from instagram_web_api import Client, ClientCompatPatch, ClientError, ClientLoginError
+
+# Without any authentication
+web_api = Client(auto_patch=True, drop_incompat_keys=False)
+user_feed_info = web_api.user_feed('329452045', count=10)
+for post in user_feed_info:
+ print('%s from %s' % (post['link'], post['user']['username']))
+
+# Some endpoints, e.g. user_following are available only after authentication
+authed_web_api = Client(
+ auto_patch=True, authenticate=True,
+ username='YOUR_USERNAME', password='YOUR_PASSWORD')
+
+following = authed_web_api.user_following('123456')
+for user in following:
+ print(user['username'])
+
+# Note: You can and should cache the cookie even for non-authenticated sessions.
+# This saves the overhead of a single http request when the Client is initialised.
+```
+
+### Avoiding Re-login
+
+You are advised to persist/cache the auth cookie details to avoid logging in every time you make an api call. Excessive logins is a surefire way to get your account flagged for removal. It's also advisable to cache the client details such as user agent, etc together with the auth details.
+
+The saved auth cookie can be reused for up to **90 days**.
+
+## Donate
+
+Want to keep this project going? Please donate generously [https://www.buymeacoffee.com/ping](https://www.buymeacoffee.com/ping)
+
+[![Build](https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png)](https://www.buymeacoffee.com/ping)
+
+## Support
+
+Make sure to review the [contributing documentation](CONTRIBUTING.md) before submitting an issue report or pull request.
+
+## Legal
+
+Disclaimer: This is not affliated, endorsed or certified by Instagram. This is an independent and unofficial API. Strictly **not for spam**. Use at your own risk.
+
+
+
+
+%package help
+Summary: Development documents and examples for instagram-private-api
+Provides: python3-instagram-private-api-doc
+%description help
+# Instagram Private API
+
+A Python wrapper for the Instagram private API with no 3rd party dependencies. Supports both the app and web APIs.
+
+![Python 2.7, 3.5](https://img.shields.io/badge/Python-2.7%2C%203.5-3776ab.svg?maxAge=2592000)
+[![Release](https://img.shields.io/github/release/ping/instagram_private_api.svg?colorB=ff7043)](https://github.com/ping/instagram_private_api/releases)
+[![Docs](https://img.shields.io/badge/docs-readthedocs.io-ff4980.svg?maxAge=2592000)](https://instagram-private-api.readthedocs.io/en/latest/)
+[![Build](https://img.shields.io/travis/ping/instagram_private_api.svg)](https://travis-ci.org/ping/instagram_private_api)
+
+[![Build](https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png)](https://www.buymeacoffee.com/ping)
+
+## Overview
+
+I wrote this to access Instagram's API when they clamped down on developer access. Because this is meant to achieve [parity](COMPAT.md) with the [official public API](https://www.instagram.com/developer/endpoints/), methods not available in the public API will generally have lower priority.
+
+Problems? Please check the [docs](https://instagram-private-api.readthedocs.io/en/latest/) before submitting an issue.
+
+## Features
+
+- Supports many functions that are only available through the official app, such as:
+ * Multiple feeds, such as [user feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.user_feed), [location feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.feed_location), [tag feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.feed_tag), [popular feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.feed_popular)
+ * Post a [photo](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_photo) or [video](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_video) to your feed or stories
+ * [Like](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_like)/[unlike](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.delete_like) posts
+ * Get [post comments](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.media_comments)
+ * [Post](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.post_comment)/[delete](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.delete_comment) comments
+ * [Like](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.comment_like)/[unlike](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.comment_unlike) comments
+ * [Follow](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.friendships_create)/[unfollow](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.friendships_destroy) users
+ * User [stories](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client.user_story_feed)
+ * And [more](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.Client)!
+- The web api client supports a subset of functions that do not require login, such as:
+ * Get user [info](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.user_info) and [feed](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.user_feed)
+ * Get [post comments](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client.media_comments)
+ * And [more](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.Client)!
+- Compatible with functions available through the public API using the ClientCompatPatch ([app](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_private_api.ClientCompatPatch)/[web](https://instagram-private-api.readthedocs.io/en/latest/api.html#instagram_web_api.ClientCompatPatch)) utility class
+- Beta Python 3 support
+
+An [extension module](https://github.com/ping/instagram_private_api_extensions) is available to help with common tasks like pagination, posting photos or videos.
+
+## Documentation
+
+Documentation is available at https://instagram-private-api.readthedocs.io/en/latest/
+
+## Install
+
+Install with pip:
+
+``pip install git+https://git@github.com/ping/instagram_private_api.git@1.6.0``
+
+To update:
+
+``pip install git+https://git@github.com/ping/instagram_private_api.git@1.6.0 --upgrade``
+
+To update with latest repo code:
+
+``pip install git+https://git@github.com/ping/instagram_private_api.git --upgrade --force-reinstall``
+
+Tested on Python 2.7 and 3.5.
+
+## Usage
+
+The [app API client](instagram_private_api/) emulates the official app and has a larger set of functions. The [web API client](instagram_web_api/) has a smaller set but can be used without logging in.
+
+Your choice will depend on your use case.
+
+The [``examples/``](examples/) and [``tests/``](tests/) are a good source of detailed sample code on how to use the clients, including a simple way to save the auth cookie for reuse.
+
+### Option 1: Use the [official app's API](instagram_private_api/)
+
+```python
+
+from instagram_private_api import Client, ClientCompatPatch
+
+user_name = 'YOUR_LOGIN_USER_NAME'
+password = 'YOUR_PASSWORD'
+
+api = Client(user_name, password)
+results = api.feed_timeline()
+items = [item for item in results.get('feed_items', [])
+ if item.get('media_or_ad')]
+for item in items:
+ # Manually patch the entity to match the public api as closely as possible, optional
+ # To automatically patch entities, initialise the Client with auto_patch=True
+ ClientCompatPatch.media(item['media_or_ad'])
+ print(item['media_or_ad']['code'])
+```
+
+### Option 2: Use the [official website's API](instagram_web_api/)
+
+```python
+
+from instagram_web_api import Client, ClientCompatPatch, ClientError, ClientLoginError
+
+# Without any authentication
+web_api = Client(auto_patch=True, drop_incompat_keys=False)
+user_feed_info = web_api.user_feed('329452045', count=10)
+for post in user_feed_info:
+ print('%s from %s' % (post['link'], post['user']['username']))
+
+# Some endpoints, e.g. user_following are available only after authentication
+authed_web_api = Client(
+ auto_patch=True, authenticate=True,
+ username='YOUR_USERNAME', password='YOUR_PASSWORD')
+
+following = authed_web_api.user_following('123456')
+for user in following:
+ print(user['username'])
+
+# Note: You can and should cache the cookie even for non-authenticated sessions.
+# This saves the overhead of a single http request when the Client is initialised.
+```
+
+### Avoiding Re-login
+
+You are advised to persist/cache the auth cookie details to avoid logging in every time you make an api call. Excessive logins is a surefire way to get your account flagged for removal. It's also advisable to cache the client details such as user agent, etc together with the auth details.
+
+The saved auth cookie can be reused for up to **90 days**.
+
+## Donate
+
+Want to keep this project going? Please donate generously [https://www.buymeacoffee.com/ping](https://www.buymeacoffee.com/ping)
+
+[![Build](https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png)](https://www.buymeacoffee.com/ping)
+
+## Support
+
+Make sure to review the [contributing documentation](CONTRIBUTING.md) before submitting an issue report or pull request.
+
+## Legal
+
+Disclaimer: This is not affliated, endorsed or certified by Instagram. This is an independent and unofficial API. Strictly **not for spam**. Use at your own risk.
+
+
+
+
+%prep
+%autosetup -n instagram-private-api-1.6.0.0
+
+%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-instagram-private-api -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.6.0.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..db48896
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+1a0c5df146053511be880bad96c16664 instagram_private_api-1.6.0.0.tar.gz