Free & open source API service for obtaining information about +9600 universities worldwide.

Overview

Universities is free & open source API service. 🎒

Features 🚀

  • Python FastAPI backend. 🔨
  • SQLAlchemy - models 📊
  • Asynchronous - Thanks to Uvicorn Universities API comes with a incredibly fast ASGI server, 🚀
  • Large database - Supports over +140 countries +9600 Universities 📡
  • Documentation - Have an automatic API documentation web user interface thanks to FastAPI
  • Open source - Everything from the code base is opensource and free to use under a permissive MIT license.

Try it online with the Documentation now!

How to use & query parameters 💡

You can search by:

  • Country /search?country=India or /search?country=United+States
  • Name /search?name=harvard
  • Alpha_two_code /search?alpha_two_code=FR
  • Domain /search?domain=uni-muenchen.de

Multiple querying & Auto completion

  • Name and Country /search?country=Brazil&name=Centro
  • Name and Alpha_two_code /search?name=oxford&alpha_two_code=gb

Example Response

{
    "name": "Ludwig-Maximilians-Universität München",
    "alpha_two_code": "DE",
    "country": "Germany",
    "web_pages": [
      "http://www.uni-muenchen.de/"
    ],
    "domains": [
      "uni-muenchen.de"
    ],
    "state_province": null
}

For Installation 📌

git clone https://github.com/ycd/universities.git
cd universities
virtulenv env
source env/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload

License

This project is licensed under the terms of the MIT license.

You might also like...
A free and open-source SMS/Call bombing application
A free and open-source SMS/Call bombing application

TBOMB V0.1 A free and open-source SMS/Call bombing application NOTE: For Termux To use the bomber type the following commands in Termux: pkg install g

Free and Open Source Group Voice chat music player for telegram ❤️ with button support youtube playback support
Free and Open Source Group Voice chat music player for telegram ❤️ with button support youtube playback support

Free and Open Source Group Voice chat music player for telegram ❤️ with button support youtube playback support

WallAlley.bot is an open source and free to use financial discord bot originaly build for WallAlley server's community

WallAlley.bot About WallAlley.bot is an open source and free to use financial discord bot originaly build for WallAlley server's community. All data a

This is a Python bot, which automates logging in, purchasing and planting the seeds. Open source bot and completely free.
This is a Python bot, which automates logging in, purchasing and planting the seeds. Open source bot and completely free.

🌻 Sunflower Land Bot 🌻 ⚠️ Warning I am not responsible for any penalties incurred by those who use the bot, use it at your own risk. This BOT is com

alpaca-trade-api-python is a python library for the Alpaca Commission Free Trading API.

alpaca-trade-api-python is a python library for the Alpaca Commission Free Trading API. It allows rapid trading algo development easily, with support for both REST and streaming data interfaces

🚧 finCLI's own News API. No more limited API calls. Unlimited credible and latest information on BTC, Ethereum, Indian and Global Finance.
🚧 finCLI's own News API. No more limited API calls. Unlimited credible and latest information on BTC, Ethereum, Indian and Global Finance.

🚧 finCLI's own News API. No more limited API calls. Unlimited credible and latest information on BTC, Ethereum, Indian and Global Finance.

:globe_with_meridians: A Python wrapper for the Geocodio geolocation service API

Py-Geocodio Python wrapper for Geocodio geocoding API. Full documentation on Read the Docs. If you are upgrading from a version prior to 0.2.0 please

Python client for Toyota North America service API

toyota-na Python client for Toyota North America service API Install pip install toyota-na[qt] [qt] is required for generating authorization code. Us

An API wrapper for the file.io web service.

🗃️ File.io An API wrapper for the file.io web service. Install $ pip3 install fileio or

Comments
  • Suggest to loosen the dependency on databases

    Suggest to loosen the dependency on databases

    Hi, your project universities requires "databases==0.3.2" in its dependency. After analyzing the source code, we found that some other versions of databases can also be suitable without affecting your project, i.e., databases 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.3.0, 0.3.1. Therefore, we suggest to loosen the dependency on databases from "databases==0.3.2" to "databases>=0.2.2,<=0.3.2" to avoid any possible conflict for importing more packages or for downstream projects that may use universities.

    May I pull a request to loosen the dependency on databases?

    By the way, could you please tell us whether such dependency analysis may be potentially helpful for maintaining dependencies easier during your development?



    For your reference, here are details in our analysis.

    Your project universities(commit id: 8d77973ea5e5d6e077329b29ffdb798ab6c1f9ff) directly uses 1 APIs from package databases.

    databases.core.Database.__init__
    
    

    From which, 6 functions are then indirectly called, including 3 databases's internal APIs and 3 outsider APIs, as follows (neglecting some repeated function occurrences).

    [/ycd/universities]
    +--databases.core.Database.__init__
    |      +--databases.core.DatabaseURL.__init__
    |      +--databases.importer.import_from_string
    |      |      +--databases.importer.ImportFromStringError.__init__
    |      |      +--importlib.import_module
    |      +--aiocontextvars.ContextVar
    |      +--contextvars.ContextVar
    

    We scan databases's versions among [0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.3.0, 0.3.1] and 0.3.2, the changing functions (diffs being listed below) have none intersection with any function or API we mentioned above (either directly or indirectly called by this project).

    diff: 0.3.2(original) 0.2.2
    ['databases.backends.postgres.Record.__iter__', 'databases.backends.aiopg.AiopgConnection.transaction', 'databases.core.DatabaseURL.scheme', 'databases.backends.postgres.PostgresBackend._get_dialect', 'databases.core.DatabaseURL.database', 'databases.backends.aiopg.AiopgTransaction.rollback', 'databases.backends.aiopg.AiopgConnection', 'databases.backends.aiopg.AiopgTransaction', 'databases.core.DatabaseURL.replace', 'databases.core.Connection', 'databases.backends.aiopg.AiopgBackend.connect', 'databases.core.Database.force_rollback', 'databases.core.DatabaseURL.__repr__', 'databases.core.Database.transaction', 'databases.backends.aiopg.AiopgConnection.fetch_all', 'databases.backends.aiopg.AiopgConnection._compile', 'databases.backends.aiopg.CompilationContext.__init__', 'databases.core.Connection.transaction', 'databases.backends.aiopg.AiopgConnection.fetch_one', 'databases.backends.aiopg.AiopgConnection.__init__', 'databases.backends.aiopg.CompilationContext', 'databases.backends.postgres.PostgresConnection._compile', 'databases.backends.sqlite.SQLiteConnection', 'databases.backends.aiopg.AiopgConnection.release', 'databases.backends.postgres.PostgresConnection', 'databases.backends.sqlite.SQLiteBackend', 'databases.backends.postgres.Record.__len__', 'databases.core.Connection.__init__', 'databases.backends.aiopg.AiopgBackend', 'databases.core.DatabaseURL', 'databases.backends.aiopg.AiopgBackend.__init__', 'databases.backends.aiopg.AiopgTransaction.__init__', 'databases.backends.aiopg.AiopgBackend._get_connection_kwargs', 'databases.backends.aiopg.AiopgBackend.disconnect', 'databases.core.Database', 'databases.backends.aiopg.AiopgConnection.execute_many', 'databases.backends.postgres.Record.values', 'databases.backends.aiopg.AiopgConnection.execute', 'databases.core.Transaction', 'databases.backends.aiopg.AiopgConnection.iterate', 'databases.backends.aiopg.AiopgTransaction.start', 'databases.core.DatabaseURL.obscure_password', 'databases.backends.aiopg.AiopgConnection.acquire', 'databases.core.Transaction.__init__', 'databases.backends.aiopg.AiopgConnection.raw_connection', 'databases.backends.aiopg.AiopgBackend._get_dialect', 'databases.backends.postgres.Record', 'databases.backends.aiopg.AiopgBackend.connection', 'databases.backends.mysql.MySQLConnection', 'databases.backends.aiopg.AiopgTransaction.commit', 'databases.backends.mysql.MySQLBackend', 'databases.backends.postgres.PostgresBackend']
    
    diff: 0.3.2(original) 0.2.3
    ['databases.backends.postgres.Record.__iter__', 'databases.backends.aiopg.AiopgConnection.transaction', 'databases.core.DatabaseURL.scheme', 'databases.core.DatabaseURL.database', 'databases.backends.aiopg.AiopgTransaction.rollback', 'databases.backends.aiopg.AiopgConnection', 'databases.backends.aiopg.AiopgTransaction', 'databases.core.DatabaseURL.replace', 'databases.core.Connection', 'databases.backends.aiopg.AiopgBackend.connect', 'databases.core.Database.force_rollback', 'databases.core.DatabaseURL.__repr__', 'databases.core.Database.transaction', 'databases.backends.aiopg.AiopgConnection.fetch_all', 'databases.backends.aiopg.AiopgConnection._compile', 'databases.backends.aiopg.CompilationContext.__init__', 'databases.core.Connection.transaction', 'databases.backends.aiopg.AiopgConnection.fetch_one', 'databases.backends.aiopg.AiopgConnection.__init__', 'databases.backends.aiopg.CompilationContext', 'databases.backends.postgres.PostgresConnection._compile', 'databases.backends.sqlite.SQLiteConnection', 'databases.backends.aiopg.AiopgConnection.release', 'databases.backends.postgres.PostgresConnection', 'databases.backends.postgres.Record.__len__', 'databases.backends.aiopg.AiopgBackend', 'databases.core.DatabaseURL', 'databases.backends.aiopg.AiopgBackend.__init__', 'databases.backends.aiopg.AiopgTransaction.__init__', 'databases.backends.aiopg.AiopgBackend._get_connection_kwargs', 'databases.backends.aiopg.AiopgBackend.disconnect', 'databases.core.Database', 'databases.backends.aiopg.AiopgConnection.execute_many', 'databases.backends.postgres.Record.values', 'databases.backends.aiopg.AiopgConnection.execute', 'databases.core.Transaction', 'databases.backends.aiopg.AiopgConnection.iterate', 'databases.backends.aiopg.AiopgTransaction.start', 'databases.core.DatabaseURL.obscure_password', 'databases.backends.aiopg.AiopgConnection.acquire', 'databases.core.Transaction.__init__', 'databases.backends.aiopg.AiopgConnection.raw_connection', 'databases.backends.aiopg.AiopgBackend._get_dialect', 'databases.backends.postgres.Record', 'databases.backends.aiopg.AiopgBackend.connection', 'databases.backends.mysql.MySQLConnection', 'databases.backends.aiopg.AiopgTransaction.commit']
    
    diff: 0.3.2(original) 0.2.4
    ['databases.backends.postgres.Record.__iter__', 'databases.backends.aiopg.AiopgConnection.transaction', 'databases.core.DatabaseURL.scheme', 'databases.backends.aiopg.AiopgTransaction.rollback', 'databases.backends.aiopg.AiopgConnection', 'databases.backends.aiopg.AiopgTransaction', 'databases.core.DatabaseURL.replace', 'databases.core.Connection', 'databases.backends.aiopg.AiopgBackend.connect', 'databases.core.Database.force_rollback', 'databases.core.DatabaseURL.__repr__', 'databases.core.Database.transaction', 'databases.backends.aiopg.AiopgConnection.fetch_all', 'databases.backends.aiopg.AiopgConnection._compile', 'databases.backends.aiopg.CompilationContext.__init__', 'databases.core.Connection.transaction', 'databases.backends.aiopg.AiopgConnection.fetch_one', 'databases.backends.aiopg.AiopgConnection.__init__', 'databases.backends.aiopg.CompilationContext', 'databases.backends.postgres.PostgresConnection._compile', 'databases.backends.sqlite.SQLiteConnection', 'databases.backends.aiopg.AiopgConnection.release', 'databases.backends.postgres.PostgresConnection', 'databases.backends.postgres.Record.__len__', 'databases.backends.aiopg.AiopgBackend', 'databases.core.DatabaseURL', 'databases.backends.aiopg.AiopgBackend.__init__', 'databases.backends.aiopg.AiopgTransaction.__init__', 'databases.backends.aiopg.AiopgBackend._get_connection_kwargs', 'databases.backends.aiopg.AiopgBackend.disconnect', 'databases.core.Database', 'databases.backends.aiopg.AiopgConnection.execute_many', 'databases.backends.postgres.Record.values', 'databases.backends.aiopg.AiopgConnection.execute', 'databases.core.Transaction', 'databases.backends.aiopg.AiopgConnection.iterate', 'databases.backends.aiopg.AiopgTransaction.start', 'databases.core.DatabaseURL.obscure_password', 'databases.backends.aiopg.AiopgConnection.acquire', 'databases.core.Transaction.__init__', 'databases.backends.aiopg.AiopgConnection.raw_connection', 'databases.backends.aiopg.AiopgBackend._get_dialect', 'databases.backends.postgres.Record', 'databases.backends.aiopg.AiopgBackend.connection', 'databases.backends.mysql.MySQLConnection', 'databases.backends.aiopg.AiopgTransaction.commit']
    
    diff: 0.3.2(original) 0.2.5
    ['databases.core.DatabaseURL.scheme', 'databases.backends.aiopg.AiopgConnection.transaction', 'databases.backends.aiopg.AiopgTransaction.rollback', 'databases.backends.aiopg.AiopgConnection', 'databases.backends.aiopg.AiopgTransaction', 'databases.core.DatabaseURL.replace', 'databases.core.Connection', 'databases.backends.aiopg.AiopgBackend.connect', 'databases.core.Database.force_rollback', 'databases.core.DatabaseURL.__repr__', 'databases.core.Database.transaction', 'databases.backends.aiopg.AiopgConnection.fetch_all', 'databases.backends.aiopg.AiopgConnection._compile', 'databases.backends.aiopg.CompilationContext.__init__', 'databases.core.Connection.transaction', 'databases.backends.aiopg.AiopgConnection.fetch_one', 'databases.backends.aiopg.AiopgConnection.__init__', 'databases.backends.aiopg.CompilationContext', 'databases.backends.postgres.PostgresConnection._compile', 'databases.backends.sqlite.SQLiteConnection', 'databases.backends.aiopg.AiopgConnection.release', 'databases.backends.postgres.PostgresConnection', 'databases.backends.aiopg.AiopgBackend', 'databases.core.DatabaseURL', 'databases.backends.aiopg.AiopgBackend.__init__', 'databases.backends.aiopg.AiopgTransaction.__init__', 'databases.backends.aiopg.AiopgBackend._get_connection_kwargs', 'databases.backends.aiopg.AiopgBackend.disconnect', 'databases.core.Database', 'databases.backends.aiopg.AiopgConnection.execute_many', 'databases.backends.postgres.Record.values', 'databases.backends.aiopg.AiopgConnection.execute', 'databases.core.Transaction', 'databases.backends.aiopg.AiopgConnection.iterate', 'databases.backends.aiopg.AiopgTransaction.start', 'databases.core.DatabaseURL.obscure_password', 'databases.backends.aiopg.AiopgConnection.acquire', 'databases.core.Transaction.__init__', 'databases.backends.aiopg.AiopgConnection.raw_connection', 'databases.backends.aiopg.AiopgBackend._get_dialect', 'databases.backends.postgres.Record', 'databases.backends.aiopg.AiopgBackend.connection', 'databases.backends.mysql.MySQLConnection', 'databases.backends.aiopg.AiopgTransaction.commit']
    
    diff: 0.3.2(original) 0.2.6
    ['databases.core.DatabaseURL.scheme', 'databases.backends.aiopg.AiopgConnection.transaction', 'databases.backends.aiopg.AiopgTransaction.rollback', 'databases.backends.aiopg.AiopgConnection', 'databases.backends.aiopg.AiopgTransaction', 'databases.core.DatabaseURL.replace', 'databases.core.Connection', 'databases.backends.aiopg.AiopgBackend.connect', 'databases.core.Database.force_rollback', 'databases.core.Database.transaction', 'databases.backends.aiopg.AiopgConnection.fetch_all', 'databases.backends.aiopg.AiopgConnection._compile', 'databases.backends.aiopg.CompilationContext.__init__', 'databases.core.Connection.transaction', 'databases.backends.aiopg.AiopgConnection.fetch_one', 'databases.backends.aiopg.AiopgConnection.__init__', 'databases.backends.aiopg.CompilationContext', 'databases.backends.sqlite.SQLiteConnection', 'databases.backends.aiopg.AiopgConnection.release', 'databases.backends.aiopg.AiopgBackend', 'databases.core.DatabaseURL', 'databases.backends.aiopg.AiopgBackend.__init__', 'databases.backends.aiopg.AiopgTransaction.__init__', 'databases.backends.aiopg.AiopgBackend._get_connection_kwargs', 'databases.backends.aiopg.AiopgBackend.disconnect', 'databases.core.Database', 'databases.backends.aiopg.AiopgConnection.execute_many', 'databases.backends.postgres.Record.values', 'databases.backends.aiopg.AiopgConnection.execute', 'databases.core.Transaction', 'databases.backends.aiopg.AiopgConnection.iterate', 'databases.backends.aiopg.AiopgTransaction.start', 'databases.backends.aiopg.AiopgConnection.acquire', 'databases.core.Transaction.__init__', 'databases.backends.aiopg.AiopgConnection.raw_connection', 'databases.backends.aiopg.AiopgBackend._get_dialect', 'databases.backends.postgres.Record', 'databases.backends.aiopg.AiopgBackend.connection', 'databases.backends.mysql.MySQLConnection', 'databases.backends.aiopg.AiopgTransaction.commit']
    
    diff: 0.3.2(original) 0.3.0
    ['databases.backends.postgres.Record.values', 'databases.core.Transaction', 'databases.core.Database.transaction', 'databases.core.Transaction.__init__', 'databases.core.DatabaseURL', 'databases.backends.postgres.Record', 'databases.core.Connection.transaction', 'databases.core.Database', 'databases.core.DatabaseURL.replace', 'databases.core.Connection']
    
    diff: 0.3.2(original) 0.3.1
    ['databases.backends.postgres.Record.values', 'databases.core.DatabaseURL', 'databases.backends.postgres.Record', 'databases.core.DatabaseURL.replace', 'databases.core.Connection']
    
    

    As for other packages, the APIs of @outside_package_name are called by databases in the call graph and the dependencies on these packages also stay the same in our suggested versions, thus avoiding any outside conflict.

    Therefore, we believe that it is quite safe to loose your dependency on databases from "databases==0.3.2" to "databases>=0.2.2,<=0.3.2". This will improve the applicability of universities and reduce the possibility of any further dependency conflict with other projects/packages.

    opened by Agnes-U 0
  • Bump fastapi from 0.60.2 to 0.65.2

    Bump fastapi from 0.60.2 to 0.65.2

    Bumps fastapi from 0.60.2 to 0.65.2.

    Release notes

    Sourced from fastapi's releases.

    0.65.2

    Security fixes

    This change fixes a CSRF security vulnerability when using cookies for authentication in path operations with JSON payloads sent by browsers.

    In versions lower than 0.65.2, FastAPI would try to read the request payload as JSON even if the content-type header sent was not set to application/json or a compatible JSON media type (e.g. application/geo+json).

    So, a request with a content type of text/plain containing JSON data would be accepted and the JSON data would be extracted.

    But requests with content type text/plain are exempt from CORS preflights, for being considered Simple requests. So, the browser would execute them right away including cookies, and the text content could be a JSON string that would be parsed and accepted by the FastAPI application.

    See CVE-2021-32677 for more details.

    Thanks to Dima Boger for the security report! 🙇🔒

    Internal

    0.65.1

    Security fixes

    0.65.0

    Breaking Changes - Upgrade

    • ⬆️ Upgrade Starlette to 0.14.2, including internal UJSONResponse migrated from Starlette. This includes several bug fixes and features from Starlette. PR #2335 by @​hanneskuettner.

    Translations

    Internal

    0.64.0

    Features

    ... (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
Releases(0.1.0)
This project is based on discord.py and is meant to be a 'Quick Start Bot' to cut down on the time it takes to write complex discord bots.

This project is based on discord.py and is meant to be a 'Quick Start Bot' to cut down on the time it takes to write complex discord bots.

Alec Ibarra 1 Mar 03, 2022
ignorant allows you to check if a phone number is used on different sites like snapchat, instagram.

Ignorant For BTC Donations : 1FHDM49QfZX6pJmhjLE5tB2K6CaTLMZpXZ ignorant does not alert the target phone number ignorant allows you to check if a phon

Palenath 513 Dec 31, 2022
Fetch Flipkart product details including name, price, MRP and Stock details in general as well as specific to a pincode

Fetch Flipkart product details including name, price, MRP and Stock details in general as well as specific to a pincode

Vishal Das 6 Jul 11, 2022
Python script to extract all Humble Bundle keys and redeem them on Steam automagically.

humble-steam-key-redeemer Python script to extract all Humble keys and redeem them on Steam automagically. This is primarily designed to be a set-it-a

74 Jan 08, 2023
A free and open-source discord webhook spammer.

Discord-Webhook-Spammer A free and open-source discord webhook spammer. Usage Depending on your python installation your commands may vary. Below are

3 Sep 08, 2021
The program for obtaining a horoscope in Python using API from rapidapi.com site.

Python horoscope The program allows you to get a horoscope for your zodiac sign and immediately translate it into almost any language. Step 1 The firs

Architect 0 Dec 25, 2021
Dribble sign up screen built in python and kivy

Dribble sign up screen built in python and kivy contains Dribble icon with icon position and shadow animation.

1 Dec 06, 2021
Automatically pulls specified repository whenever a specified file is pushed. Great for working collaboratively when you need to run something locally.

autopull Simple python tool that allows you to automatically pull from a github repository whenever a file with a specified name is uploaded installat

carreb 0 Sep 27, 2022
Queen Zellie is a chat bot for Telegram.

🧝‍♀️ 💙 Queen Zellei 💙 🧝‍♀️ Queen Zellie is a chat bot for Telegram. Make it easy and fun to use Telegram. Telegram | Telegram Channel | Whatsapp H

Sinhalaya Official 4 Dec 18, 2021
API RestFull web de pontos turisticos de certa região

##RESTful Web API para exposição de pontos turísticos de uma região## Propor um novo ponto turístico Moderação dos pontos turísticos cadastrados Lista

Lucas Silva 2 Jan 28, 2022
This Server Cloner can clone the server you want with all the perms of roles in every particular channel.

Server-Cloner-with-perms 🚀 This Server Cloner can clone the server you want with all the perms of roles in every particular channel. Features Clone C

Gripz 0 Feb 17, 2022
TwitterDataStreaming - Twitter data streaming using APIs

Twitter_Data_Streaming Twitter data streaming using APIs Use Case 1: Streaming r

Rita Kushwaha 1 Jan 21, 2022
An API wrapper around Discord API.

NeoCord This project is work in progress not for production use. An asynchronous API wrapper around Discord API written in Python. Features Modern API

Izhar Ahmad 14 Jan 03, 2022
Telegram Voice Chat Music Player UserBot Written with Pyrogram Smart Plugin and tgcalls

Telegram Voice Chat UserBot A Telegram UserBot to Play Audio in Voice Chats. This is also the source code of the userbot which is being used for playi

Dash Eclipse 7 May 21, 2022
Marketplace for self published books

Nile API API for the imaginary Nile marketplace for self published books. This is a project created to try out FastAPI as the post promising ASGI serv

Matt de Young 1 Jan 31, 2022
Unauthenticated enumeration of services, roles, and users in an AWS account or in every AWS account in existence.

Quiet Riot 🎶 C'mon, Feel The Noise 🎶 An enumeration tool for scalable, unauthenticated validation of AWS principals; including AWS Acccount IDs, roo

Wes Ladd 89 Jan 05, 2023
Anchor Protocol Script that can save you from being liquidated!

Why My day job requires a fairly good amount of automation from time to time. Besides, I do like computers to work on what I cannot while I'm sleeping

126 Oct 16, 2022
Probably Overengineered Unimore Booker

POUB Probably Overengineered Unimore Booker A python-powered, actor-based, telegram-facing, timetable-aware booker for unimore (if you know more adjec

Lorenzo Rossi 3 Feb 20, 2022
This tool adds votes to strawpoll.me polls.

Strawpoll-Botter This tool adds votes to strawpoll.me polls. Usage Basic usage: py main.py -r amount of votes to put poll id option # Usage: py

MonkeySkid 2 Feb 28, 2022
iCloudPy is a simple iCloud webservices wrapper library written in Python

iCloudPy 🤟 Please star this repository if you end up using the library. It will help me continue supporting this product. 🙏 iCloudPy is a simple iCl

Mandar Patil 49 Dec 26, 2022