Python package that mirrors the original Nodejs ReplAPI-It.

Overview

Python-ReplAPI-It

Python package that mirrors the original Nodejs ReplAPI-It.

Contributing

First fork the repo:

$ git clone https://github.com/ReplAPI-it/Python-ReplAPI-It.git
$ poetry install

Second, edit the code. Third, clean up the project:

$ isort .
$ flake8

Last, create a PR!

Comments
  • Made cycles!

    Made cycles!

    Hi! I don't know if this is what you guys(and by that I mean @BD103, @RayhanADev, and @JBYT27, super sorry for ping! Just needed to make sure people knew what I meant). I made the cycles grabber, and it works if you put in the right username.

    I don't know the name for the function, so I just made it getCycles, so one of you guys can change it.

    And if you wanna make the error, go ahead, I just think print is tidier and it exits the program without a bunch of other stuff.

    Thanks! I'll make more features!

    Priority: LOW Type: IMPROVEMENT 
    opened by darkdarcool 21
  • [BUG] ~ staging.replit.com/graphql doesn't support requests

    [BUG] ~ staging.replit.com/graphql doesn't support requests

    Describe the bug Making a standard request on staging.replit.com just returns the URL https://replit.slack.com/archives/C3AA56MFS/p1622838662154800.

    To Reproduce Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior Running CLASS.collect() returns a dictionary of the data, while running CLASS.collect_raw() returns JSON.

    Screenshots Screenshot 2021-06-08 08 38 45

    Desktop (please complete the following information):

    • OS: ChromeOS
    • Browser: Chrome
    • Version: Not sure

    Additional context This also breaks CLASS.collect(), because it cannot convert text to a dictionary.

    Priority: HIGH Status: COMPLETED Type: BUG 
    opened by BD103 16
  • [For Developers] Commit Guidelines

    [For Developers] Commit Guidelines

    Hello, everyone! We have some new people on the repo, specifically @darkdarcool and @JBYT27. Because of this, I would like to highlight the standards for committing to the repo. Let's get started:

    Committing Format

    All commits should follow Conventional Commits, a guideline followed by the entire project. What does this mean? All commits should be formatted like the following:

    <type>[optional scope]: <description>
    
    [optional body / long description]
    
    [optional footer(s)]
    

    Most of the time, Replit only supports a short description. Because of this, you would probably only insert line 1 of that sample. If you are making a commit on Github, then the long description is supported.

    What are types?

    The types represent what the commit is doing. For instance:

    • fix: A commit that patches a bug, but does not add any new features
    • feat: A commit that introduces a new type of feature to the code. This does not change anything, only adds on.
    • BREAKING CHANGE: (or you could also add an ! after the type / scope) introduces a change to the API. This means that it breaks pre-existing code.
    • chore: A commit that updates something in the repo that does not directly correlate to the code. (For instance updating README.md, changing Github Actions, etc.)
    • docs: A commit that updates the docs. Not much else here.

    There may be more types but ask RayhanADev.

    Scopes?

    Scopes represent a specific section to the type. They don't have to be anything specific and don't have to have been used before. They just help a reviewer easily tell where the change occurred in case the description is obscure. Some used scopes have been:

    • workflow
    • contribution (CONTRIBUTING.md)
    • repo (general changes)
    • readme (for README.md file)

    What about Pull Requests?

    That's a very good question. I myself am unsure what to do for PRs, but I assume that they follow the same format. Combine all the commits, and find the most important. (Breaking is more important than feat, and fix is more important than docs.)

    Semantic Version

    A common practice is to make this package follow SemVer or Semantic Versioning. Read over the specs here. They go in direct correlation with Conventional Commits. You guys will not probably have to worry about this, as I will be the one who packages and releases the versions. It's just nice to know.

    Closing

    I'm sorry for the word wall. After noticing the commit history was a mess I knew I had to do something, though. Please raise any questions in the comments, and remember to also read over CONTRIBUTING.md. Thanks!

    ~ BD103 :D

    Update

    Make the short description lowercase. I forgot to mention that!

    Type: DOCUMENTATION 
    opened by BD103 16
  • Ballad Lint and Test Action (WIP)

    Ballad Lint and Test Action (WIP)

    Finally adding Continuous Integration! I have designed a Python Package that simulates installing from a poetry.lock file. It's called Ballad. Here's what I did:

    • Created standard Github Action
    • Added linter with Black, Isort, and Flake8
    • It actually works!
    • Only runs for the master branch (which can be changed)
    • Because it's my project, I can add features that are requested
    Priority: LOW Status: COMPLETED Type: IMPROVEMENT 
    opened by BD103 16
  • [REQUEST] ~ Github Actions CI

    [REQUEST] ~ Github Actions CI

    Add continuous integration with Github Actions. Currently, this is a low priority because of the following:

    • This project uses Poetry for dependency management
    • Github Actions does not initially support Poetry
    • Installing Poetry works, but commands are not registered
      • For instance, even though it installed Isort, the isort command isn't available
      • This makes it very difficult to use all the dependencies necessary for the project
    Priority: LOW Status: COMPLETED Type: IMPROVEMENT 
    opened by BD103 15
  • Interesting!

    Interesting!

    Hey! I was just wondering @BD103, since I know python ~~and have no ideas~~, can I join this proj?

    If no, that's fine, I'll just leave a couple pull requests here and there

    Thanks!

    opened by darkdarcool 13
  • Repository Meta

    Repository Meta

    New contributors typically look to a CONTRIBUTING.md and CODE_OF_CONDUCT.md for how to contribute to a repository. Also be sure to specify a Commit Convention (or lack of one) so that commit history is clean. Lastly, if Python has a code linter and/or formatter you should include the setup for these and configuration files so that all your code remains clean and consistent.

    Speaking from experience I ran a repository for 3 months without the above and trying to make changes or consistency was a pain. Adopting these best practices will help you run this module smoothly!

    Priority: MEDIUM Status: COMPLETED Type: DOCUMENTATION 
    opened by rayhanadev 8
  • [REQUEST] ~ Documentation needed

    [REQUEST] ~ Documentation needed

    This looks like a cool project, but you seem to be lacking a documentation? I would recomend having it in the README file, and you should make sure it also goes on Pypi to.

    Type: REQUEST 
    opened by Isaiah08-D 4
  • [BUG] ~ Github to Replit sync

    [BUG] ~ Github to Replit sync

    Github to Replit sync broken I checked out our team repl for the python module, and tried both pulling and pushing. However, as this does happen, the sync has broke. I already left a message inside the repl, but I'm leaving an issue as well. You might want to import this GitHub repo in Replit.

    Just letting you know

    To Reproduce Steps to reproduce the behavior:

    1. Go to 'Version Control'
    2. Click on 'Pull'
    3. Click on 'Push' this time
    4. See error

    Expected behavior It's supposed to pull for you and push for you as it's synced, but it doesn't. It reacts like a null (lol).

    Screenshots Check the repl for more.

    Desktop (please complete the following information):

    • OS: ChromeOS
    • Browser: Chrome
    • Version: 91.0.4472.81 (i think)
    Priority: HIGH Status: COMPLETED 
    opened by kokonut27 4
  • Setup a Project Board

    Setup a Project Board

    You may want to setup a Kanban board in Projects to track issues and deadlines for your first release of the module. It might help keep things organized when transpiling the NodeJS package to a Python Module.

    Priority: LOW Status: COMPLETED Type: DOCUMENTATION 
    opened by rayhanadev 4
  • Upgrade to an HTTPS package

    Upgrade to an HTTPS package

    Previously when fetching the staging domain you could use HTTP requests (i.e. what the requests package uses) however when fetching the standard domain that is no longer the case. You need to use an HTTPS package. I would experiment with urllib, although I'm not sure if it supports https. Worst case scenario if nothing works you can use the native Python HTTPS APIs, make your own package (you only need GET and POST requests) and use that (it's what I did for the NodeJS package).

    opened by rayhanadev 3
Releases(v0.0.1)
Owner
The ReplAPI.it Project
Making Public API's and Packages for the Replit Community!
The ReplAPI.it Project
An interactive course to git

OperatorEquals' Sandbox Git Course! Preface This Git course is an ongoing project containing use cases that I've met (and still meet) while working in

John Torakis 62 Sep 19, 2022
Structured Exceptions for Python

XC: Structured exceptions for Python XC encourages a structured, disciplined approach to use of exceptions: it reduces the overhead of declaring excep

Bob Gautier 2 May 28, 2021
Get a link to the web version of a git-tracked file or directory

githyperlink Get a link to the web version of a git-tracked file or directory. Applies to GitHub and GitLab remotes (and maybe others but those are no

Tomas Fiers 2 Nov 08, 2022
General tricks that may help you find bad, or noisy, labels in your dataset

doubtlab A lab for bad labels. Warning still in progress. This repository contains general tricks that may help you find bad, or noisy, labels in your

vincent d warmerdam 449 Dec 26, 2022
A full-featured, hackable tiling window manager written and configured in Python

A full-featured, hackable tiling window manager written and configured in Python Features Simple, small and extensible. It's easy to write your own la

Qtile 3.8k Dec 31, 2022
From "fixed RAnDom CRashes" to "[FIX] Fixed random crashes."

Clean Commit From fixed RAnDom CRashes to [FIX] Fixed random crashes. Clean commit helps you by auto-formating your commits to make your repos better

Mathias 3 Dec 26, 2021
A tool to quickly create codeforces contest directories with templates.

Codeforces Template Tool I created this tool to help me quickly set up codeforces contests/singular problems with templates. Tested for windows, shoul

1 Jun 02, 2022
To effectively detect the faulty wafers

wafer_fault_detection Aim of the project: In electronics, a wafer (also called a slice or substrate) is a thin slice of semiconductor, such as crystal

Arun Singh Babal 1 Nov 06, 2021
A basic DIY-project made using Python and MySQL

Banking-Using-Python-MySQL This is a basic DIY-project made using Python and MySQL. Pre-Requisite needed:-- MySQL command Line:- creating a database

ABHISHEK 0 Jul 03, 2022
How to create the game Rock, Paper, Scissors in Python

Rock, Paper, Scissors! If you want to learn how to do interactive games using Python, then this is great start for you. In this code, You will learn h

SplendidSpidey 1 Dec 18, 2021
Fastest python library for making asynchronous group requests.

FGrequests: Fastest Asynchronous Group Requests Installation Install using pip: pip install fgrequests Documentation Pretty easy to use. import fgrequ

Farid Chowdhury 14 Nov 22, 2022
People tracker on the Internet: OSINT analysis and research tool by Jose Pino

trape (stable) v2.0 People tracker on the Internet: Learn to track the world, to avoid being traced. Trape is an OSINT analysis and research tool, whi

Jose Pino 7.3k Dec 30, 2022
Web app for keeping track of buildings in danger of collapsing in the event of an earthquake

Bulina Roșie 🇷🇴 Un cutremur în București nu este o situație ipotetică. Este o certitudine că acest lucru se va întâmpla. În acest context, la mai bi

Code for Romania 27 Nov 29, 2022
Nmap script to detect a Microsoft Exchange instance version with OWA enabled.

Nmap script to detect a Microsoft Exchange instance version with OWA enabled.

Luciano Righetti 27 Nov 17, 2022
My solutions for the 2021's Advent of Code

Advent of Code 2021 My solutions for Advent of Code 2021. This year I am practicing Python 🐍 and also trying to develop my own language, Chocolate 🍫

Jakob Erzar 2 Dec 15, 2021
TMTC Commander Core

This commander application was first developed by KSat for the SOURCE project to test the on-board software but has evolved into a more generic tool for satellite developers to perform TMTC (Telemetr

robamu 8 Dec 14, 2022
Random pass word generator made with python. PyQt5 module is used to design GUI.

Differences in this GUI program : Default titlebar removed Custom Minimize,Maximize and Close Buttons Drag & move window from any point Program work l

Dimuth De Zoysa 1 Jan 26, 2022
Participants of Bertelsmann Technology Scholarship created an awesome list of resources and they want to share it with the world, if you find illegal resources please report to us and we will remove.

Participants of Bertelsmann Technology Scholarship created an awesome list of resources and they want to share it with the world, if you find illegal

Wissem Marzouki 29 Nov 28, 2022
ESteg - A simple steganography program for python

ESteg A simple steganography program to embed the contents of a text file into a

Jithin Renji 1 Jan 02, 2022
A sandpit for textual related things

A sandpit repo for testing textual related things.

Craig Gumbley 1 Nov 08, 2021