tushar5526 / autotype Goto Github PK
View Code? Open in Web Editor NEWAutotype on websites that have copy-paste disabled like Moodle, HackerEarth contest etc.
License: Creative Commons Zero v1.0 Universal
Autotype on websites that have copy-paste disabled like Moodle, HackerEarth contest etc.
License: Creative Commons Zero v1.0 Universal
Autotype now works on all three platforms (win, linux and mac). Update that in readme
Managing python requirements file manually is not a good idea, as it leads to problems down the road. Switch to pipenv
https://realpython.com/pipenv-guide/
Currently, there is no Code Formatter used in Autotype, Our Goal is to add a Black code formattingr in Autotype.
Describe the solution you'd like - Add a GitHub action that checks a PR for coding style using black. The GHA should be able to format the code and commit it to the PR if the PR is not following the coding style.
A uniform coding style across Autotype, that Autoformat code on every PR.
GitHub Actions, Python
Kanishk Pachauri, Anjuman Hassan
50 hours.
Hard.
The Command Line Interface of Autotype is great but we should enhance it with the support of GUI app. We can Create this App with the Help of Tkinter.
https://github.com/tushar5526/Autotype#run-it-as-follows-if-you-are-not-familiar-with-cli-apps
This is outdated. Update accordingly.
Write a test for the simulate_keyboard.py script.
before creating the pull request to make sure you follow all the standards. -->
In Many coding contests people don't want to copy-paste their code, Sometimes they want just to write some template and with that template they write there own code.
List the changes done to fix a bug or introducing a new feature.
Describe the steps required to test the changes proposed in the pull request.
Please consider using the closing keyword if the pull request is proposed to
fix an issue already created in the repository
Currently we have a GIF only for CLI version, which is outdated.
before creating the pull request to make sure you follow all the standards. -->
Refactor Code to Better Standards and Publish the Autotype to Pypi.
Remove the additional brackets added by intellisense, before autotyping again
Fix this behaviour, as it is leading to multiple extra closing brackets at the end of the autotyped code.
Currenty due to all that demo media the size of the project is around 70 mb
we need to get in down.
Improvement in the GUI of Autotype for Better User Experience.
The default GUI of GUI_script.py is very Minimal the Approach is to Improve the UI of Autotype to Modern UI standards.
Improved GUI of Autotype
Python, Tkinter, Some Knowledge of Design.
Kanishk Pachauri, Anjuman Hassan
20 hours.
Medium
Make Autotype to Install Trough pip
Package Installer for Python is the de facto and recommended package-management system written in Python and is used to install and manage software packages. It connects to an online repository of public packages, called the Python Package Index. Our Goal is the publish Autotype to pip so that users can install Autotype Via pip3 install Autotype
and use is as a command line executable file ex - Autotype --help
.
pip package for Autotype.
Python, pip, Unix Executable File.
Kanishk Pachauri, Anjuman Hassan
100 hours.
Hard
Make a Docker Container of Autotype for Easy Workflow.
Docker is a set of platform-as-a-service products that use OS-level virtualization to deliver software in packages called containers.
Containers are isolated from one another and bundle their own software, libraries, and configuration files; they can communicate with each other through well-defined channels. The main goal is to dockerize Autotype, so that it can run on any platform without any conflict.
Working Docker Container of Autotype with proper documentation in Docs to Run it in the README.md.
Python, Docker
Kanishk Pachauri, Anjuman Hassan
5 hours.
Easy
before creating the pull request to make sure you follow all the standards. -->
When your Python project relies on external packages, you need to make sure you’re using the right version of each package. After an update, a package might not work as it did before the update. A dependency manager like Python Poetry helps you specify, install, and resolve external packages in your projects. This way, you can be sure that you always work with the right dependency version on every machine
Describe the steps required to test the changes proposed in the pull request.
Please consider using the closing keyword if the pull request is proposed to
fix an issue already created in the repository
Description:
In the GUI app, when pressing Start Typing it throws an AttributeError
How to reproduce:
Just clone the Repository and open in your IDE, run the GUI using python3 GUI_script.py
Type anything in the code/text box, press Start Typing.
My Operating System : Manjaro (Arch Linux)
Logs:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.10/tkinter/init.py", line 1921, in call
return self.func(*args)
File "/home/sam/.local/lib/python3.10/site-packages/customtkinter/windows/widgets/ctk_button.py", line 549, in _clicked
self._command()
File "/home/sam/Autotype/GUI_script.py", line 94, in start_typing
code = self.code.textbox.get("1.0", tk.END)
AttributeError: 'CTkTextbox' object has no attribute 'textbox'
Autotype is Widely Used For Typing Automation, It will be nice to Write Unit Test.
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Using Pytest write some basic Unit Test to test the Simulation of the Files. Use Tox for the Automation of These Tests.
Working Unit Test For Autotype.
Python, Unit Testing.
Kanishk Pachauri, Anjuman Hassan
100 hours.
Hard
Pynput itself contains many other problems and packages to be configured, it is better to use Pyautogui rather than pynput
The current Ui of the script is a bit outdated and can be replaced with a better looking UI.Instead of tinkter , customtkinter
library can be used in the GUI_script.py
for creating a smooth and modern UI
GUI_script.py
.code = """ class Complex: def __init__(self, x, y): self.x = x self.y = y """
block inside the else
block.This will make the code a bit more cleaner and readable.Code
in the Type
function.The new UI can be tested by just running the GUI_script.py
in a virtual environment having all the requirements
installed.
#3 needs to be done before this.
You can also add a linter like prettier, black, yapf, pep8 etc. to maintain the standards.
Many new contributors are facing issues wth pipenv
. It would be better to provide them alternate setiup instructions with classic virtualenv
.
virtualenv
Many websites have simple IntelliSense that automatically indents your cursor when you press Enter key.
This is adding extra tabs in the code that is being auto-typed.
As python depends on tabs/spaces to define blocks, we have to manually adjust the indent in python code after auto-typing.
Find a work-around for it.
A lot of great features are being added in the Autotype, but I am seeing a need for users simply wanting the old script. I think we can checkout a branch to an old commit and mention the branch in the docs.
@Mr-Sunglasses you would have to do this when you have the time for it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.