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)
A simple Telegram bot which handles images in whole different way

zeroimagebot thezeroimagebot 🌟 I Can Edit Dimension Of An image which is required by @stickers 🌟 I Can Extract Text From An Image 🌟 !!! New Updates

RAVEEN KUMAR 4 Jul 01, 2021
A telegram user and chat info extractor with pyrogram python module

Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com/FayasNoushad/Telegram-Info/blob/main/LICENSE

Fayas Noushad 8 Dec 22, 2021
AWS-serverless-starter - AWS Lambda serverless stack via Serverless framework

Serverless app via AWS Lambda, ApiGateway and Serverless framework Configuration

Bəxtiyar 3 Feb 02, 2022
Grade Notifyer Bot

A bot that automatically crawl the submission platform of montefiore to notify the student when a project has been graded.

Julien Gustin 2 Jun 02, 2022
Host your Python Discord Bot 24/7 for free. POC

🐉 Pandore 🐉 The easiest and fastest way to host your Python3 Discord Bot 24/7 for free! 📚 Documentation 📚 If you encounter any problem while using

Billy 73 Jan 02, 2023
NiceHash Python Library and Command Line Rest API

NiceHash Python Library and Command Line Rest API Requirements / Modules pip install requests Required data and where to get it Following data is nee

Ashlin Darius Govindasamy 2 Jan 02, 2022
KTUN Öğrenci Bilgi Sistemine bağlanıp her 15 dakikada notları kontrol eden ve değişiklik olduğu zaman size Discord Webhook ile mesaj atan uygulama.

KTUN_Obis KTUN Öğrenci Bilgi Sistemi KTUN Öğrenci Bilgi Sistemine selenium kullanarak girip setttings.py dosyasında verdiğiniz bilgeri doldurup ardınd

İbrahim Uysal 5 Oct 27, 2022
A simple and stupid Miinto API wrapper

miinto-api-wrapper Miinto API Wrapper is a simple python wrapper for Miinto API. Miinto is a fashion luxury marketplace. For more information see the

Giuseppe Checchia 3 Jan 09, 2022
A bot which is a ghost and you can make friends with it

This is a bot which is a ghost and you can make friends with it. It will haunt your friends. Explore and test the bot in replit !

Siwan SR 0 Oct 06, 2022
NFT Generator: A modular NFT generator application

NFT Generator A simple passion project done with the role to learn a bit about h

2 Aug 30, 2022
Updater for PGCG (Paradox Game Converters Group) converters written in Python.

Updater Updater for PGCG (Paradox Game Converters Group) converters written in Python. Needs to be put inside an "Updater" directory in the root conve

Paradox Game Converters 2 Jan 10, 2022
Draw your telegram bot in draw.io and generate its code

README Contents: Draw your bot Install requirements Registering a telegram bot Draw bot Start point Message block Single choice block Functions block

DENIS TSITKO 23 Nov 09, 2022
Streaming Finance Data with AWS Lambda

A data pipeline consisting of an AWS lambda function reading data from yfinance API, an AWS Kinesis stream to receive & store data in S3 buckets and AWS Glue crawler & Athena to run SQL queries.

Aarif Munwar Jahan 4 Aug 30, 2022
A powerfull Zee5 Downloader Bot With Permeneant Thumbnail Support 💯 With Love From NexonHex

Zᴇᴇ5 DL A ᴘᴏᴡᴇʀғᴜʟʟ Zᴇᴇ5 Dᴏᴡɴʟᴏᴀᴅᴇʀ Bᴏᴛ Wɪᴛʜ Pᴇʀᴍᴇɴᴇᴀɴᴛ Tʜᴜᴍʙɴᴀɪʟ Sᴜᴘᴘᴏʀᴛ 💯 Wɪᴛʜ Lᴏᴠᴇ Fʀᴏᴍ NᴇxᴏɴHᴇx Wʜᴀᴛ Cᴀɴ I Dᴏ ? • ɪ ᴄᴀɴ Uᴘʟᴏᴀᴅ ᴀs ғɪʟᴇ/ᴠɪᴅᴇᴏ ғʀᴏᴍ

Psycharmers 4 Jan 19, 2022
A discord bot that manages your server's hedge fund

Can't Hide Money Bot A discord bot that manages your server's hedge fund Installing Install wkhtmltopdf sudo apt-get install wkhtmltopdf OR brew insta

Kelvin Abrokwa-Johnson 0 Oct 16, 2021
Maintained Fork of Jishaku For nextcord

Onami a debugging and utility extension for nextcord bots Read the documentation online. Fork Onami is a actively maintained fork of Jishaku for nextc

RPS 11 Dec 14, 2022
Este programa tem como objetivo o cadastro dos usuários. Assim, caso a autenticação seja feita, permitir que o usuário entre em determinado sistema ou programa.

LoginPy Este programa tem como objetivo o cadastro dos usuários. Assim, caso a autenticação seja feita, permitir que o usuário entre em determinado si

Jonas Carvalho 4 Dec 23, 2021
🚀 An asynchronous python API wrapper meant to replace discord.py - Snappy discord api wrapper written with aiohttp & websockets

Pincer An asynchronous python API wrapper meant to replace discord.py ❗ The package is currently within the planning phase 📌 Links |Join the discord

Pincer 125 Dec 26, 2022
Best Buy purchase bot

B3 Best-Buy-Bot. Written in Python NOTICE: Don't be a disgrace to society. Don't use this for any mass buying/reselling purposes. About B3 is a bot th

Dogey11 8 Aug 15, 2022