Skip to main content

PyCoder is a tool to generate python code out of a few given topics and a description. It uses GPT-2 language model as its engine. Pycoder poses writing Python code as a conditional-Causal Language Modelling(c-CLM). It has been trained on millions of lines of Python code written by all of us. At the current stage and state of training, it produces sensible code with few lines of description, but the scope of improvement for the model is limitless.

Pycoder has been developed as a Command-Line tool (CLI), an API endpoint, as well as a python package (yet to be deployed to PyPI). This repository acts as a framework for anyone who either wants to try to build Pycoder from scratch or turn Pycoder into maybe a CPPCoder or JSCoder 😃. A blog post about the development of the project will be released soon.

To use Pycoder as a CLI utility, clone the repository as normal, and install the package with:

foo@bar:❯ pip install pycoder

After this the package could be verified and accessed as either a native CLI tool or a python package with:

foo@bar:❯ python -m pycoder --version

Or directly as:

foo@bar:❯ pycoder --version

On installation the CLI can be used directly, such as:

foo@bar:❯ pycoder -t pytorch -t torch -d "a trainer class to train vision model" -ml 120

The API endpoint is deployed using FastAPI. Once all the requirements have been installed for the project, the API can be accessed with:

foo@bar:❯ pycoder --endpoint PORT_NUMBER

Or

foo@bar:❯ pycoder -e PORT_NUMBER

Tech Stack

Python PyTorch Transformers Docker FastAPI

Tested Platforms

Linux Windows 10

BibTeX

If you want to cite the framework feel free to use this:

@article{dutta2021pycoder,
  title={Pycoder},
  author={Dutta, H},
  journal={GitHub. Note: https://github.com/himanshu-dutta/pycoder},
  year={2021}
}

MIT License

Metadata

Release files for pycoder 1.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pycoder 1.2.4
File Size Uploaded
pycoder-1.2.4.tar.gz 17.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pycoder 1.2.4
File Interpreter ABI Platform
pycoder-1.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 38.5 kB

Release files / pycoder-1.2.4.tar.gz

Download URL pycoder-1.2.4.tar.gz
Size 17.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0a2bd1bfcc7c7f5044353bf8d3689d6ccc7f43f9953c71563ca3cabb25983666
BLAKE2b-256 checksum
How to use checksums
eaa599cb6ec9c3ec1f02af8812cf0d813abb211610e74078e7478555427dbba1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10

Release files / pycoder-1.2.4-py3-none-any.whl

Download URL pycoder-1.2.4-py3-none-any.whl
Size 21.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
10575d63e51475b3a90109a4f27805d7c16e24a26d6b037d8aa982dd62ece1b8
BLAKE2b-256 checksum
How to use checksums
bc8ba6fb7d03785541a462ac6c039113c054416b1dbede62dd029672a4721934
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

1.2.4 This release

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.1.2

2 release files

1.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page