Code Monkey home page Code Monkey logo

replapi-it / replapi.it-python Goto Github PK

View Code? Open in Web Editor NEW
10.0 4.0 0.0 429 KB

๐™€๐™ซ๐™š๐™ง๐™ฎ๐™ฉ๐™๐™ž๐™ฃ๐™œ ๐™๐™š๐™ฅ๐™ก๐™ž๐™ฉ, ๐™–๐™ก๐™ก ๐™–๐™ฉ ๐™ฎ๐™ค๐™ช๐™ง ๐™™๐™ž๐™จ๐™ฅ๐™ค๐™จ๐™–๐™ก. This is the single most extensive Replit module, allowing you to access various parts of the site with just a few classes and methods. Written in Python. Maintained by @BD103 & @JBYT27.

Home Page: https://replit.com/@ReplAPIit

License: GNU General Public License v3.0

Python 100.00%
python api graphql pip poetry module api-wrapper replit repltalk repl-talk

replapi.it-python's People

Contributors

bd103 avatar darkdarcool avatar kokonut27 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

replapi.it-python's Issues

[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.

i am confuzzled

What's the difference between the REPLAPI.it-Python and the REPLAPI?

Design User and Post Classes

Currently, we need to support two classes:

  • User
  • Post

I have laid down the framework for these, but they do not actually do anything.
Remember, this package should work exactly as ReplAPI-it-NodeJS, ideas for features should be implemented there first, then ported.

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).

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!

[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)

[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.

Python Files

Hiya, quick question;

Where did the python files go? ;-;

Thanks! :D

Docs

Docs

So, I noticed that we don't have any docs, even an MD set up for how to use the module, and it's really bugging me, so, I was wondering if we could get a doc website set up with vercel, or even an MD ready for when it's time to write the docs.

This is just a request, thanks!

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!

PyPi Module

Should we upload this to PyPi? Or should we just make it an unofficial module? (for python)

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.

Soooo

What happened to this package? It hasnโ€™t been worked on for a while. Just askin

Flat Style on Badge

Is it possible to make the Ballad Badge a for-the-badge style to match up with the other badges?

[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!

[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

Invite

Heya, could you invite me to this? I haven't got the invite yet ;)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.