Evernote SDK for Python

Overview

Evernote SDK for Python

Evernote API version 1.28

This SDK is intended for use with Python 2.X

For Evernote's beta Python 3 SDK see https://github.com/evernote/evernote-sdk-python3

Overview

This SDK contains wrapper code used to call the Evernote Cloud API from Python.

The SDK also contains a sample script. The code demonstrates the basic use of the SDK for single-user scripts. Real web applications must use OAuth to authenticate to the Evernote service.

Prerequisites

In order to use the code in this SDK, you need to obtain an API key from http://dev.evernote.com/documentation/cloud. You'll also find full API documentation on that page.

In order to run the sample code, you need a user account on the sandbox service where you will do your development. Sign up for an account at https://sandbox.evernote.com/Registration.action

In order to run the client client sample code, you need a developer token. Get one at https://sandbox.evernote.com/api/DeveloperToken.action

Getting Started - Client

The code in sample/client/EDAMTest.py demonstrates the basics of using the Evernote API, using developer tokens to simplify the authentication process while you're learning.

  1. Open sample/client/EDAMTest.py

  2. Scroll down and fill in your Evernote developer token.

  3. On the command line, run the following command to execute the script:

    $ export PYTHONPATH=../../lib; python EDAMTest.py

Getting Started - Django with OAuth

Web applications must use OAuth to authenticate to the Evernote service. The code in sample/django contains a simple web apps that demonstrate the OAuth authentication process. The application use the Django framework. You don't need to use Django for your application, but you'll need it to run the sample code.

  1. Install django, oauth2 and evernote library. You can also use requirements.txt for pip.

  2. Open the file oauth/views.py

  3. Fill in your Evernote API consumer key and secret.

  4. On the command line, run the following command to start the sample app:

    $ python manage.py runserver
  5. Open the sample app in your browser: http://localhost:8000

Getting Started - Pyramid with OAuth

If you want to use Evernote API with Pyramid, the code in sample/pyramid will be good start.

  1. Install the sample project using pip on your command line like this.

    $ pip install -e .
  2. Open the file development.ini

  3. Fill in your Evernote API consumer key and secret.

  4. On the command line, run the following command to start the sample app:

    $ pserve development.ini
  5. Open the sample app in your browser: http://localhost:6543

Usage

OAuth

client = EvernoteClient(
    consumer_key='YOUR CONSUMER KEY',
    consumer_secret='YOUR CONSUMER SECRET',
    sandbox=True # Default: True
)
request_token = client.get_request_token('YOUR CALLBACK URL')
client.get_authorize_url(request_token)
 => https://sandbox.evernote.com/OAuth.action?oauth_token=OAUTH_TOKEN

To obtain the access token

access_token = client.get_access_token(
    request_token['oauth_token'],
    request_token['oauth_token_secret'],
    request.GET.get('oauth_verifier', '')
)

Now you can make other API calls

client = EvernoteClient(token=access_token)
note_store = client.get_note_store()
notebooks = note_store.listNotebooks()

UserStore

Once you acquire token, you can use UserStore. For example, if you want to call UserStore.getUser:

client = EvernoteClient(token=access_token)
user_store = client.get_user_store()
user_store.getUser()

You can omit authenticationToken in the arguments of UserStore functions.

NoteStore

If you want to call NoteStore.listNotebooks:

note_store = client.get_note_store()
note_store.listNotebooks()

NoteStore for linked notebooks

If you want to get tags for linked notebooks:

linked_notebook = note_store.listLinkedNotebooks()[0]
shared_note_store = client.getSharedNoteStore(linked_notebook)
shared_notebook = shared_note_store.getSharedNotebookByAuth()
shared_note_store.listTagsByNotebook(shared_notebook.notebookGuid)

NoteStore for Business

If you want to get the list of notebooks in your business account:

business_note_store = client.get_business_note_store()
business_note_store.listNotebooks()

References

Known Issues

Regular expressions

In general, the "re" regex module doesn't handle some of our regular expressions in Limits, but re2 does.

Comments
  • Test fails in ubuntu 12.04

    Test fails in ubuntu 12.04

    When i run test by export PYTHONPATH=../lib; python EDAMTest.py i saw: Traceback (most recent call last): File "EDAMTest.py", line 46, in <module> UserStoreConstants.EDAM_VERSION_MINOR) File "/usr/local/lib/python2.7/dist-packages/evernote/edam/userstore/UserStore.py", line 224, in checkVersion self.send_checkVersion(clientName, edamVersionMajor, edamVersionMinor) File "/usr/local/lib/python2.7/dist-packages/evernote/edam/userstore/UserStore.py", line 235, in send_checkVersion self._oprot.trans.flush() File "/usr/local/lib/python2.7/dist-packages/thrift/transport/THttpClient.py", line 93, in _f result = f(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/thrift/transport/THttpClient.py", line 114, in flush self.__http.endheaders() File "/usr/lib/python2.7/httplib.py", line 954, in endheaders self._send_output(message_body) File "/usr/lib/python2.7/httplib.py", line 814, in _send_output self.send(msg) File "/usr/lib/python2.7/httplib.py", line 776, in send self.connect() File "/usr/lib/python2.7/httplib.py", line 1161, in connect self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file) File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket ciphers=ciphers) File "/usr/lib/python2.7/ssl.py", line 143, in __init__ self.do_handshake() File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [Errno 8] _ssl.c:504: EOF occurred in violation of protocol

    opened by nvbn 16
  • Conflicts with python thrift library

    Conflicts with python thrift library

    doing pip install evernote and pip install thrift can cause:

    File "/usr/local/lib/python2.7/site-packages/notehandler-0.6_dev-py2.7.egg/notehandler.py", line 315, in cmd_userinfo
    userStore = client.get_user_store()
    File "/usr/local/lib/python2.7/site-packages/evernote-1.25.0-py2.7.egg/evernote/api/client.py", line 60, in get_user_store
    store = Store(self.token, UserStore.Client, user_store_uri)
    File "/usr/local/lib/python2.7/site-packages/evernote-1.25.0-py2.7.egg/evernote/api/client.py", line 122, in init
    self._client = self._get_thrift_client(client_class, store_url)
    File "/usr/local/lib/python2.7/site-packages/evernote-1.25.0-py2.7.egg/evernote/api/client.py", line 146, in _get_thrift_client
    http_client.addHeaders({
    AttributeError: THttpClient instance has no attribute 'addHeaders'
    

    Can you guys work with the thrift library to fix this? Or unbundle the thrift library? Or pull it all the way internal so you don't collide namespacewise so this won't happen?

    opened by pjz 9
  • run example error

    run example error

    from evernote.api.client import EvernoteClient
    s="*******"
    developer_token = s
    
    
    client = EvernoteClient(token=developer_token)
    note_store = client.get_note_store()
    print note_store 
    # Make API calls
    notebooks = note_store.listNotebooks()
    for notebook in notebooks:
        print "Notebook: ", notebook.name
    

    error

    Traceback (most recent call last):
      File "tests_evernote.py", line 17, in <module>
        note_store = client.get_note_store()
      File "/Volumes/MACEXT/GitHub/evernote-sdk-python/lib/evernote/api/client.py", line 68, in get_note_store
        note_store_uri = user_store.getNoteStoreUrl()
      File "/Volumes/MACEXT/GitHub/evernote-sdk-python/lib/evernote/api/client.py", line 138, in delegate_method
        )(**dict(zip(arg_names, args)))
      File "/Volumes/MACEXT/GitHub/evernote-sdk-python/lib/evernote/edam/userstore/UserStore.py", line 1156, in getNoteStoreUrl
        return self.recv_getNoteStoreUrl()
      File "/Volumes/MACEXT/GitHub/evernote-sdk-python/lib/evernote/edam/userstore/UserStore.py", line 1181, in recv_getNoteStoreUrl
        raise result.systemException
    evernote.edam.error.ttypes.EDAMSystemException: EDAMSystemException(errorCode=8, rateLimitDuration=None, _message='authenticationToken')
    
    opened by yishenggudou 7
  • sample-code throws error

    sample-code throws error

    Using OS X 10.7, Python 2.7

    I have a valid sandbox account with a fresh developer token created for this account and copied at line 27 of

    "sample/EDAMTest.py"

    authToken = "abc123" # here I copied my real developer token of course
    

    Following the instructions of the sample code everything works fine until it comes to line 57:

    noteStoreUrl = userStore.getNoteStoreUrl(authToken)
    

    where executing the example code with or without

    Hlidskialf:sample Ulf$ export PYTHONPATH=../lib; python EDAMTest.py
    

    it first print this, so it obviously run's a little bit ;):

    Is my Evernote API version up to date?  True
    

    and than finally fails with this:

    Traceback (most recent call last):
      File "EDAMTest.py", line 57, in <module>
        noteStoreUrl = userStore.getNoteStoreUrl(authToken)
    AttributeError: 'Client' object has no attribute 'getNoteStoreUrl'
    

    In the file "lib/evernote/edam/userstore/UserStore.py" at line 600:

      def getNoteStoreUrl(self, authenticationToken):
        """
        Returns the URL that should be used to talk to the NoteStore for the
        account represented by the provided authenticationToken.
        This method isn't needed by most clients, who can retrieve the correct
        NoteStore URL from the AuthenticationResult returned from the authenticate
        or refreshAuthentication calls. This method is typically only needed
        to look up the correct URL for a long-lived session token (e.g. for an
        OAuth web service).
    
        Parameters:
         - authenticationToken
        """
        self.send_getNoteStoreUrl(authenticationToken)
        return self.recv_getNoteStoreUrl()
    

    I am not 100% sure wether this is on my side or something wrong with the example code.

    Hope someone can help me out.

    Cheers, Ulf

    opened by urms 6
  • Code completion & Docstrings

    Code completion & Docstrings

    Hi, The architecture of the SDK breaks PyDev code completion & hover docstrings (on methods), slowing down development and making it harder to use. Do you have any known workaround or future plan on that? Thanks, Chris

    opened by laurentgoudet 5
  • Add setup.py

    Add setup.py

    I've created a setup script so that we can install the evernote python SDK in the standard python module way (http://docs.python.org/distutils/setupscript.html).

    just run

    python setup.py install
    

    and the library will be installed in your PYTHONPATH.

    This makes the library ready for PyPI, or installed directly from github (eg pip install git+git://github.com/evernote/evernote-sdk-python.git).

    opened by kwellman 5
  • https://www.yinxiang.com/  errorCode=8

    https://www.yinxiang.com/ errorCode=8

    use china evernote,need config this url? 'https://app.yinxiang.com/shard/s5/notestore' how to config?

    client = EvernoteClient(token=dev_token, sandbox=False)
    noteStore = client.get_note_store()
    

    throw err

        noteStore = client.get_note_store()
      File "build/bdist.macosx-10.10-intel/egg/evernote/api/client.py", line 68, in get_note_store
      File "build/bdist.macosx-10.10-intel/egg/evernote/api/client.py", line 138, in delegate_method
      File "build/bdist.macosx-10.10-intel/egg/evernote/edam/userstore/UserStore.py", line 1156, in getNoteStoreUrl
      File "build/bdist.macosx-10.10-intel/egg/evernote/edam/userstore/UserStore.py", line 1181, in recv_getNoteStoreUrl
    evernote.edam.error.ttypes.EDAMSystemException: EDAMSystemException(errorCode=8, rateLimitDuration=None, _message='authenticationToken')
    
    opened by youqingkui 4
  • Set PLAINTEXT signature method for empty oauth_token_secret

    Set PLAINTEXT signature method for empty oauth_token_secret

    EvernoteClient.get_access_token() should set PLAINTEXT signature method when oauth_token_secret is empty as per the small patch below (sorry too lazy to make a fork for this):

    --- a/lib/evernote/api/client.py
    +++ b/lib/evernote/api/client.py
    @@ -49,6 +49,8 @@ class EvernoteClient(object):
             token = oauth.Token(oauth_token, oauth_token_secret)
             token.set_verifier(oauth_verifier)
             client = self._get_oauth_client(token)
    +        if not oauth_token_secret:
    +            client.set_signature_method(oauth.SignatureMethod_PLAINTEXT())
    
             resp, content = client.request(self._get_endpoint('oauth'), 'POST')
             access_token = dict(urlparse.parse_qsl(content))
    
    opened by gsakkis 4
  • Is this right way for get the data from access_token?

    Is this right way for get the data from access_token?

    u.evernote_token is valid token. When I use the new EvernoteClient , I always get the EDAMUserException.

    In [36]: ec = EvernoteClient(token=u.evernote_token, sandbox=False)
    
    In [37]: us = ec.get_user_store()
    
    In [38]: us.getUser()
    ---------------------------------------------------------------------------
    EDAMUserException                         Traceback (most recent call last)
    <ipython-input-38-e5fae8655448> in <module>()
    ----> 1 us.getUser()
    
    /home/dreampuf/www/tblog/.py/lib/python2.7/site-packages/evernote/api/client.pyc in delegate_method(*args, **kwargs)
        138                 return functools.partial(
        139                     targetMethod, authenticationToken=self.token
    --> 140                 )(**dict(zip(arg_names, args)))
        141             else:
        142                 return targetMethod(*args, **kwargs)
    
    /home/dreampuf/www/tblog/.py/lib/python2.7/site-packages/evernote/edam/userstore/UserStore.pyc in getUser(self, authenticationToken)
        788     """
        789     self.send_getUser(authenticationToken)
    --> 790     return self.recv_getUser()
        791
        792   def send_getUser(self, authenticationToken):
    
    /home/dreampuf/www/tblog/.py/lib/python2.7/site-packages/evernote/edam/userstore/UserStore.pyc in recv_getUser(self)
        811       return result.success
        812     if result.userException is not None:
    --> 813       raise result.userException
        814     if result.systemException is not None:
        815       raise result.systemException
    
    EDAMUserException: EDAMUserException(errorCode=9, parameter='password')
    

    Do you have any suggestion?

    opened by dreampuf 3
  • Could you add this feature of the client?

    Could you add this feature of the client?

    I find the new client api may limit many old apps use this SDK. The new client loses the response data when it request the token. I hope you can merge this pull request to your SDK.

    opened by dreampuf 3
  • Special Examples

    Special Examples

    Hi, here at the Evernote Hackathon Berlin 2013 we figured out, that people need more examples covering complete use cases. These are some examples we found useful for the people here.

    opened by holtwick 3
  • Enhanced organization and search capabilities.

    Enhanced organization and search capabilities.

    Enhanced organization and search capabilities. Implementing a feature such as advanced tagging (which was extracted under LDA topic 4 during my review analysis, the word 'tag') and categorization of notes and tasks will provide users with a way to quickly access notes they are searching for. This helps increase the apps usefulness and efficiency for users that tend to own a large collection of notes.

    opened by mhassan04 0
  • Improved performance and stability

    Improved performance and stability

    Improved performance and stability. Under LDA topic 9 during my review analysis, one of the extracted word was 'crash' and it shows up twice, which tells us that the users are reporting bugs and crashes on the app, their have also been reviews about the app's slow loading time, for instance under LDA Topic 1 during my reviews analysis we find the word 'slow', this causes the users to get irritated and may lead to them closing the app. As a result, to improve the users overall experience on the app and increase their satisfaction, the app should improve its performance and stability.

    opened by mhassan04 0
  • Add a feature to pin notes

    Add a feature to pin notes

    Add a feature to pin notes, if you use a notes app often, there are notes you go back to everyday and edit to add more information and so on. The app appeals more to the user when a simple feature such as pinning a few notes and having it show up on the top of their screen, this would be super convenient, useful and increase the usability.

    opened by mhassan04 0
  • Adding feature to increase font size

    Adding feature to increase font size

    Add a feature to increase the font size when reading texts on the Evernote app, users struggle to read texts and prefer to increase the size to their liking. This increases the usability and is appealing to the user.

    opened by mhassan04 0
  • Bump mako from 0.7.3 to 1.2.2 in /sample/pyramid

    Bump mako from 0.7.3 to 1.2.2 in /sample/pyramid

    Bumps mako from 0.7.3 to 1.2.2.

    Release notes

    Sourced from mako's releases.

    1.2.2

    Released: Mon Aug 29 2022

    bug

    • [bug] [lexer] Fixed issue in lexer where the regexp used to match tags would not correctly interpret quoted sections individually. While this parsing issue still produced the same expected tag structure later on, the mis-handling of quoted sections was also subject to a regexp crash if a tag had a large number of quotes within its quoted sections.

      References: #366

    1.2.1

    Released: Thu Jun 30 2022

    bug

    • [bug] [tests] Various fixes to the test suite in the area of exception message rendering to accommodate for variability in Python versions as well as Pygments.

      References: #360

    misc

    • [performance] Optimized some codepaths within the lexer/Python code generation process, improving performance for generation of templates prior to their being cached. Pull request courtesy Takuto Ikuta.

      References: #361

    1.2.0

    Released: Thu Mar 10 2022

    changed

    • [changed] [py3k] Corrected "universal wheel" directive in setup.cfg so that building a wheel does not target Python 2.

      References: #351

    • [changed] [py3k] The bytestring_passthrough template argument is removed, as this flag only applied to Python 2.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump waitress from 0.8.2 to 2.1.1 in /sample/pyramid

    Bump waitress from 0.8.2 to 2.1.1 in /sample/pyramid

    Bumps waitress from 0.8.2 to 2.1.1.

    Release notes

    Sourced from waitress's releases.

    v2.1.1

    No release notes provided.

    v2.1.0

    No release notes provided.

    v2.1.0b0

    No release notes provided.

    v2.0.0

    No release notes provided.

    v2.0.0b1

    No release notes provided.

    v2.0.0b0

    No release notes provided.

    v1.4.4

    No release notes provided.

    v1.4.3

    No release notes provided.

    v1.4.2

    No release notes provided.

    v1.4.1

    No release notes provided.

    v1.4.0

    No release notes provided.

    v1.3.1

    No release notes provided.

    v1.3.0

    No release notes provided.

    v1.3.0b0

    No release notes provided.

    v1.2.1

    No release notes provided.

    v1.2.0

    No release notes provided.

    v1.1.0

    https://pypi.org/project/waitress/1.1.0/

    ... (truncated)

    Changelog

    Sourced from waitress's changelog.

    2.1.1

    Security Bugfix

    
    - Waitress now validates that chunked encoding extensions are valid, and don't
      contain invalid characters that are not allowed. They are still skipped/not
      processed, but if they contain invalid data we no longer continue in and
      return a 400 Bad Request. This stops potential HTTP desync/HTTP request
      smuggling. Thanks to Zhang Zeyu for reporting this issue. See
      https://github.com/Pylons/waitress/security/advisories/GHSA-4f7p-27jc-3c36
    
    • Waitress now validates that the chunk length is only valid hex digits when parsing chunked encoding, and values such as 0x01 and +01 are no longer supported. This stops potential HTTP desync/HTTP request smuggling. Thanks to Zhang Zeyu for reporting this issue. See https://github.com/Pylons/waitress/security/advisories/GHSA-4f7p-27jc-3c36

    • Waitress now validates that the Content-Length sent by a remote contains only digits in accordance with RFC7230 and will return a 400 Bad Request when the Content-Length header contains invalid data, such as +10 which would previously get parsed as 10 and accepted. This stops potential HTTP desync/HTTP request smuggling Thanks to Zhang Zeyu for reporting this issue. See https://github.com/Pylons/waitress/security/advisories/GHSA-4f7p-27jc-3c36

    2.1.0

    Python Version Support

    • Python 3.6 is no longer supported by Waitress

    • Python 3.10 is fully supported by Waitress

    Bugfix

    
    - ``wsgi.file_wrapper`` now sets the ``seekable``, ``seek``, and ``tell``
      attributes from the underlying file if the underlying file is seekable. This
      allows WSGI middleware to implement things like range requests for example
    

    See Pylons/waitress#359 and Pylons/waitress#363

    • In Python 3 OSError is no longer subscriptable, this caused failures on Windows attempting to loop to find an socket that would work for use in the trigger.

    </tr></table>

    ... (truncated)

    Commits
    • 9e0b8c8 Merge pull request from GHSA-4f7p-27jc-3c36
    • b28c9e8 Prep for 2.1.1
    • bd22869 Remove extraneous calls to .strip() in Chunked Encoding
    • d9bdfa0 Validate chunk size in Chunked Encoding are HEXDIG
    • d032a66 Error when receiving back Chunk Extension
    • 884bed1 Update tests to remove invalid chunked encoding chunk-size
    • 1f6059f Be more strict in parsing Content-Length
    • e75b0d9 Add new regular expressions for Chunked Encoding
    • 22c0394 Merge pull request #367 from Pylons/fixup/collect-wasyncore-tests
    • dc15d9f Make sure to collect all wasyncore tests
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(1.28)
Template to create a telegram bot in python

Template for Telegram Bot Template to create a telegram bot in python. How to Run Set your telegram bot token as environment variable TELEGRAM_BOT_TOK

PyTopia 10 Mar 07, 2022
OpenVisionAPI client

OpenVisionAPI Client 🚀 Getting Started Prerequisites Installing Install the dependencies $ make setup Usage $ source .venv/bin/activate $ ./ova_clie

Open Vision API 40 Nov 11, 2022
Python library for the Stripe API.

Stripe Python Library The Stripe Python library provides convenient access to the Stripe API from applications written in the Python language. It incl

Stripe 1.3k Jan 03, 2023
Handles SDVX EXCEED GEAR result screen photos and attempts to read it.

Handles SDVX EXCEED GEAR result screen photos and attempts to read it.

silverhawke 1 Jan 08, 2022
Autov2new - Pro Auto Filter Bot V2

Pro Auto Filter Bot V2 Deploy You can deploy this bot anywhere. Watch Deploying

1 Jan 06, 2022
SaltConf21: Adding Workflow Approval to Salt

SaltConf21: Adding Workflow Approval to Salt Running To run the example, install Docker and docker-compose and run the following commands: docker-comp

SSYS Sistemas 4 Nov 24, 2021
A generative art library for NFT avatar and collectible projects.

Generative NFT Art Introduction The generative-art-nft repository is a library for creating generative art. It was developed for the purpose of creati

Rounak Banik 657 Jan 02, 2023
Spacecrypto-bombcrypto-bot - SpaceCrypto And Bombcrypto Bot - MultiScreen

SpaceCrypto And Bombcrypto Bot - MultiScreen This is a open source project inspi

Paulo Bramante 5 Nov 03, 2022
Automatically gets clips from twitch streams and uploads them to a YouTube channel.

Twitch Stream Highlights to YT Automatic Uploader (AutoBot Clipper) This script can be used to automatically extract highlights (or clips) from a twit

Teja Swaroop 57 Dec 12, 2022
Simplebot-tg - Telegram/DeltaChat Bridge with python

simplebot_tg Telegram/DeltaChat Bridge, is a plugin for https://github.com/simpl

Arián Díaz Cruz 1 Dec 30, 2021
Weather App using openweathermap API

This is my hobby project used to learn how to use public api for project.In this i used the api of openweathermap to featch the weather details of various city across the globe by giving city name as

Subramanya K S 1 Nov 06, 2021
Change between dark/light mode depending on the ambient light intensity

svart Change between dark/light mode depending on the ambient light intensity Installation Install using pip $ python3 -m pip install --user svart Ins

Siddharth Dushantha 169 Nov 26, 2022
Telegram bot that search for the classrooms status of the chosen day and then return all the free classrooms using your preferred time slot

Aule Libere Polimi Since the PoliMi site no longer allows people to search for free classrooms this bot was necessary! It simply search for the classr

Daniele Ferrazzo 16 Nov 09, 2022
Guildead - Guilded api wrapper written in python

Guildead Guilded api wrapper written in python. I have found "exploit" (guilded

0хVιcнy#1337 5 Sep 23, 2022
A Telelgram Bot to Extract Text from an Image

Text-Scanner-OCR A Telelgram Bot to Extract Text from an Image Configs Vars API_KEY: Your API_KEY from OCR Space GROUP: Your Group Username without '@

ALBY 8 Feb 20, 2022
An Inline Telegram YouTube Downloader bot with custom, permanent thumbnail support and cancel upload facility. Make your fork now.

Inline-Tube-Mate (YouTube Downloader) An Inline Telegram bot that can download YouTube videos with permanent thumbnail support Bot need to be in Inlin

Renjith Mangal 41 Dec 14, 2022
C Y B Ξ R UserBot is a project that simplifies the use of Telegram. All rights reserved.

C Y B Ξ R USΞRBOT 🇦🇿 C Y B Ξ R UserBot is a project that simplifies the use of Telegram. All rights reserved. Automatic Setup Android: open Termux p

C Y B Ξ R 0 Sep 20, 2022
Seth Userbot with python

SETH-USERBOT DEPLOY TO HEROKU Group Support: String Session : Stay Support 🚀 ❁ LonamiWebs and Telethon © Credits ⚡ THANK YOU VERY MUCH FOR zeinzo Zei

seth 4 Jan 10, 2022
Change the discord status throught websocket every 5 seconds with an insult

Discord status insult changer Change the discord status throught websocket every 5 seconds with an insult! - pip install httpx - put your tokens in "t

Ѵιcнч 10 Oct 27, 2022
thumbor is an open-source photo thumbnail service by globo.com

Survey If you use thumbor, please take 1 minute and answer this survey? It's only 2 questions and one is multiple choice!!! thumbor is a smart imaging

Thumbor (by @globocom) 9.3k Dec 31, 2022