Giter VIP home page Giter VIP logo

avantpy's People

Contributors

aroberge avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

avantpy's Issues

Simplified error handling - first implementation

Is your feature request related to a problem? Please describe.
Python tracebacks are too difficult to understand for beginners. Having a simpler way to report them to users would be useful.

Describe the solution you'd like
I want something like the following:

  • Python error: IndentationError
  • What it means: ....
  • Where does it occur in your code: ...

Describe alternatives you've considered
None exists in the standard Python land, as far as I know.

Additional context
None.

Feature request: remove the 'Dialect used:' line from default output

Describe the feature you'd like to see added.
In the spirit of this project, the most important information is shown first. Currently, the Dialect used: output is fairly high up, before the human-readable description. In the common case, it says "None", which can imply that this is the user's error. But It's essentially debug info, not adding relevant info for the person who's wondering why they have an error. I.e., the "dialect" doesn't relate to their error. It's an avantpy implementation detail.

I propose that we don't show it at all. And only show it in response to a 'verbose' or 'show configs' option.

Who would benefit most from this?
This would mostly benefit:

  • students learning programming
  • teachers/tutors helping student

Is this something you would like to contribute
Sure, I could contribute this.

Context

From the blog post, AvantPy Needs You:

Screen Shot 2019-04-09 at 2 01 50 PM

Create gui editor that can be used to run a program

After implementing aroberge/friendly#13, adapt it so that something similar can be done from AvantPy.

Features:

  • ability to change the language
  • ability to set the language used by friendly-traceback separately
  • ability to have the normal Python output (stdout + normal tracebacks) into a "window" and show the simplified tracebacks with custom formatting into a separate window.
  • explore the possibility of using a linter.

Create two versions of simplified tracebacks

Describe the feature you'd like to see added.
For people that write Python/pyen code, with a few exceptions, the current simplified tracebacks include the same Python keywords twice in the explanation. It should be possible to detect if Python or pyen is used and, if so, have a different traceback shown. This could be essentially useful if someone wanted to just use the error handling of AvantPy in a "normal" Python environment.

Who would benefit most from this?
This would benefit mostly students learning standard Python and developers who want to make use of AvantPy's error handling in their own project.

Move invocation.py to __main__.py

This is to be more consistent with Python's normal terminology, and likely make it easier for people browsing the repository to understand what the code is doing. Also, a similar change was seen as necessary for friendly-traceback as the way invocation.py works may break if another program is run with a -m option and it imports AvantPy.

Add "full conversion" option to converter

Currently the GUI converter does a one-to-one translation of keywords from one dialect to another.
AvantPy programs can contain a mixture of Python keywords with keywords from a given dialect. This one-to-one conversion leaves the Python keywords unchanged.

Adding a "full conversion" option would mean to do a conversion in two steps:

  1. from dialect1 to pyen
  2. from pyen to dialect2

This would also allow to remove Python keywords from a given script, by requesting a conversion with the same initial and final dialect.

Discussion about the French version

Below, I give some rationale about some choices made for the French dialect.

= = =
Pour plusieurs des mots-clés dans la version française, j'ai choisi d'utiliser un verbe à l'infinitif et de ne pas traduire le mot anglais utilisé par Python, mais plutôt de trouver un verbe qui capturait mieux l'idée à transmettre aux débutants; par exemple, afficher pour print, ou demander pour input. Je ne suis pas certain mes choix soient nécessairement les meilleurs et je serais intéressé d'entendre vos suggestions.

Les traductions que j'ai faites pour les fameux tracebacks ne sont que des premières ébauches, qui pourront certainement être améliorées.

Vous pouvez ajouter vos commentaires ou suggestions ci-dessous.

Please, do not file any issue.

As of August 25, 2020, AvantPy is shelved. It depends on another project which is actively developed and whose current version is no longer compatible with AvantPy.

Simplify translation work: remove 'en' from po files

Describe the feature you'd like to see added.
Currently, I create a separate po file for English, which is almost exactly a carbon copy of the text in the original Python files. I thought that this was going to be necessary to do, but it ends up just duplicating the work.

Who would benefit most from this?
People contributing code to AvantPy.

Is this something you would like to contribute
I will take care of this.

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.