aprillang


Nameaprillang JSON
Version 1.0.1 PyPI version JSON
download
home_pagehttps://github.com/merwin-asm/April
SummaryProgramming Language to make API [Utilise the power of all languages in you API]
upload_time2024-01-25 09:26:04
maintainer
docs_urlNone
authorCactochan
requires_python>=3.8
license
keywords api programming language april aprillang
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <br/>
<p align="center">
  <h3 align="center">April</h3>

  <p align="center">
    A Programming Language to make API's !!
    <br/>
    <br/>
    <a href="https://github.com/merwin-asm/april/blob/main/docs.md"><strong>Explore the docs ยป</strong></a>
    <br/>
    <br/>
    <a href="https://github.com/merwin-asm/april/issues">Report Bug</a>
    .
    <a href="https://github.com/merwin-asm/april/issues">Request Feature</a>
  </p>
</p>

![Contributors](https://img.shields.io/github/contributors/merwin-asm/april?color=dark-green) ![Forks](https://img.shields.io/github/forks/merwin-asm/april?style=social) ![Stargazers](https://img.shields.io/github/stars/merwin-asm/april?style=social) ![Issues](https://img.shields.io/github/issues/merwin-asm/april) ![License](https://img.shields.io/github/license/merwin-asm/april) <p align="right"> <img src="https://komarev.com/ghpvc/?username=merwin-asm-april&label=Project%20views&color=0e75b6&style=flat" /> </p>

## Table Of Contents

* [About the Project](#about-the-project)
* [Built With](#built-with)
* [Getting Started](#getting-started)
  * [Prerequisites](#prerequisites)
  * [Installation](#installation)
* [Usage](#usage)
* [Packages](#Packages)
* [Making yourown packages](#About-making-a-package-yourself)
* [Roadmap](#roadmap)
* [Contributing](#contributing)
* [License](#license)
* [Authors](#authors)

## About The Project

![Screen Shot](https://cdn.discordapp.com/attachments/951417646191083551/1193927724616654909/image.png?ex=65ae7ed7&is=659c09d7&hm=5fd754a6776bb2998fd877218a1993f8aec01fa8de6a57cee7b3b4bb4e41858e&)

This language was made for making API's great ease and more efficiency. 

The language connects each API endpoint to a specific program/command, in case you want to write the code for the endpoint '/home' in python and '/generate' in Cpp - this can be done.

The language have packages for multiple languages for adapting april to the wanted language (some packages are made by the community too!!) . In case you dont find the required package for utilizing april in your wanted language - don't worry its easy to make a package for your own.

## Built With

- Written in python3
- Makes use of FASTAPI


## Features

- Easy install
- Simple
- Efficient
- Inbuild ratelimiting features (if req)
- Auto-Generated API Docs (if req)
- Banned IPs
- Disallow Private IPs (if req)
- Cross platform


## Getting Started

### Prerequisites

- Python3
- Pip3
- Redis server

### Installation

WIndows :
```sh
pip install aprillang
```

Linux / MacOs:
```sh
pip3 install aprillang
```

## Usage

Get the list of allowed commands
```sh
april -h
```

Get info of the language
```sh
april -a
```

Compile an .apl file (april file):
- This converts the april code to python3 code
- Compiled file is saved as filename without extention apl + '_apl.py'

```sh
april -c file.apl
```

Run an .apl file (start the API server):
- Format for the command is - april -r <filename> <host:port>

```sh
april -r file.apl 0.0.0.0:8080
```

Get the version of april:

```sh
april -v
```

# Packages

| Language   | Link                                      | Creator             | Info |
|------------|-------------------------------------------|---------------------|--------|
| Python     | [Link](https://github.com/merwin-asm/april/tree/main/python) | [merwin-asm](https://github.com/merwin-asm/) |[Link](https://github.com/merwin-asm/april/blob/main/python/) |
| Lua     | [Link](https://github.com/merwin-asm/april/tree/main/lua) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/lua/info.md)|
| JS     | [Link](https://github.com/merwin-asm/april/tree/main/js) | [axorax](https://github.com/axorax/) | [Link](https://github.com/merwin-asm/april/blob/main/js/)|
| TS     | [Link](https://github.com/merwin-asm/april/tree/main/ts) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/ts/info.md)|
| Go     | [Link](https://github.com/merwin-asm/april/tree/main/go) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/go/)|
| Rust     | [Link](https://github.com/merwin-asm/april/tree/main/rust) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/rust/info.md)|
| PHP     | [Link](https://github.com/merwin-asm/april/tree/main/php) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/php/info.md)|
| Dart     | [Link](https://github.com/merwin-asm/april/tree/main/dart) | [merwin-asm](https://github.com/merwin-asm/)| [Link](https://github.com/merwin-asm/april/blob/main/dart/)|
| Ruby     | [Link](https://github.com/merwin-asm/april/tree/main/ruby) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/ruby/info.md)|


# About making a package yourself
- The packages are used to connect the april program and the program dedicated to the endpoint.
- When the program pointed to the endpoint is called the program is suplied with a call ID in the form of commandline argument (last argument). The program can access details related to the request in the json file "." + call ID + ".input". And the output of the program can be put in to the json file "." + call ID + ".output".
## About the input and output files
### **Input File** : 
- Json file
- Filename : "." + call ID + ".input"
- Contains information about the request ,
  ```
  {
  "request" : dict containing info of the request,
  "input" : {"varible_name_in_the_url" : "value", ....}
  }
  ```
  - The 'request' dict have all the same keys as in [starlette.requests](https://www.starlette.io/requests/)

### **Output File** :
- Json file
- Filename : "." + call ID + ".output"
- Should contain information about the response ,
```
{
"headers" : <headers for the response>,
"status" : <status code>,
"output" : "the data to be send out to the user"
}
```
- The output and input files automatically gets deleted when the data in the output file is gained.

## Support

For support, join our discord server https://discord.gg/PXMSPJXhXd

## Roadmap

See the [open issues](https://github.com/merwin-asm/april/issues) for a list of proposed features (and known issues).

## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
* If you have suggestions for adding or removing projects, feel free to [open an issue](https://github.com/merwin-asm/april/issues/new) to discuss it, or directly create a pull request after you edit the *README.md* file with necessary changes.
* Please make sure you check your spelling and grammar.
* Create individual PR for each suggestion.
* Please also read through the [Code Of Conduct](https://github.com/merwin-asm/april/blob/main/CODE_OF_CONDUCT.md) before posting your first idea as well.

### Creating A Pull Request

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## License

Distributed under the MIT License. See [LICENSE](https://github.com/merwin-asm/april/blob/main/LICENSE.md) for more information.

## Authors

* **Merwin** - *Comp Sci Student* - [Merwin](https://github.com/merwin-asm/) - *Main programmer*

## Contributors

* [Axorax](https://github.com/axorax)



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/merwin-asm/April",
    "name": "aprillang",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "API,programming,language,april,aprillang",
    "author": "Cactochan",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/dd/b5/56daac0bbc16905e261c4f320bea06ba3bcf5185472a63f713037d0cfada/aprillang-1.0.1.tar.gz",
    "platform": "any",
    "description": "<br/>\n<p align=\"center\">\n  <h3 align=\"center\">April</h3>\n\n  <p align=\"center\">\n    A Programming Language to make API's !!\n    <br/>\n    <br/>\n    <a href=\"https://github.com/merwin-asm/april/blob/main/docs.md\"><strong>Explore the docs \u00bb</strong></a>\n    <br/>\n    <br/>\n    <a href=\"https://github.com/merwin-asm/april/issues\">Report Bug</a>\n    .\n    <a href=\"https://github.com/merwin-asm/april/issues\">Request Feature</a>\n  </p>\n</p>\n\n![Contributors](https://img.shields.io/github/contributors/merwin-asm/april?color=dark-green) ![Forks](https://img.shields.io/github/forks/merwin-asm/april?style=social) ![Stargazers](https://img.shields.io/github/stars/merwin-asm/april?style=social) ![Issues](https://img.shields.io/github/issues/merwin-asm/april) ![License](https://img.shields.io/github/license/merwin-asm/april) <p align=\"right\"> <img src=\"https://komarev.com/ghpvc/?username=merwin-asm-april&label=Project%20views&color=0e75b6&style=flat\" /> </p>\n\n## Table Of Contents\n\n* [About the Project](#about-the-project)\n* [Built With](#built-with)\n* [Getting Started](#getting-started)\n  * [Prerequisites](#prerequisites)\n  * [Installation](#installation)\n* [Usage](#usage)\n* [Packages](#Packages)\n* [Making yourown packages](#About-making-a-package-yourself)\n* [Roadmap](#roadmap)\n* [Contributing](#contributing)\n* [License](#license)\n* [Authors](#authors)\n\n## About The Project\n\n![Screen Shot](https://cdn.discordapp.com/attachments/951417646191083551/1193927724616654909/image.png?ex=65ae7ed7&is=659c09d7&hm=5fd754a6776bb2998fd877218a1993f8aec01fa8de6a57cee7b3b4bb4e41858e&)\n\nThis language was made for making API's great ease and more efficiency. \n\nThe language connects each API endpoint to a specific program/command, in case you want to write the code for the endpoint '/home' in python and '/generate' in Cpp - this can be done.\n\nThe language have packages for multiple languages for adapting april to the wanted language (some packages are made by the community too!!) . In case you dont find the required package for utilizing april in your wanted language - don't worry its easy to make a package for your own.\n\n## Built With\n\n- Written in python3\n- Makes use of FASTAPI\n\n\n## Features\n\n- Easy install\n- Simple\n- Efficient\n- Inbuild ratelimiting features (if req)\n- Auto-Generated API Docs (if req)\n- Banned IPs\n- Disallow Private IPs (if req)\n- Cross platform\n\n\n## Getting Started\n\n### Prerequisites\n\n- Python3\n- Pip3\n- Redis server\n\n### Installation\n\nWIndows :\n```sh\npip install aprillang\n```\n\nLinux / MacOs:\n```sh\npip3 install aprillang\n```\n\n## Usage\n\nGet the list of allowed commands\n```sh\napril -h\n```\n\nGet info of the language\n```sh\napril -a\n```\n\nCompile an .apl file (april file):\n- This converts the april code to python3 code\n- Compiled file is saved as filename without extention apl + '_apl.py'\n\n```sh\napril -c file.apl\n```\n\nRun an .apl file (start the API server):\n- Format for the command is - april -r <filename> <host:port>\n\n```sh\napril -r file.apl 0.0.0.0:8080\n```\n\nGet the version of april:\n\n```sh\napril -v\n```\n\n# Packages\n\n| Language   | Link                                      | Creator             | Info |\n|------------|-------------------------------------------|---------------------|--------|\n| Python     | [Link](https://github.com/merwin-asm/april/tree/main/python) | [merwin-asm](https://github.com/merwin-asm/) |[Link](https://github.com/merwin-asm/april/blob/main/python/) |\n| Lua     | [Link](https://github.com/merwin-asm/april/tree/main/lua) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/lua/info.md)|\n| JS     | [Link](https://github.com/merwin-asm/april/tree/main/js) | [axorax](https://github.com/axorax/) | [Link](https://github.com/merwin-asm/april/blob/main/js/)|\n| TS     | [Link](https://github.com/merwin-asm/april/tree/main/ts) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/ts/info.md)|\n| Go     | [Link](https://github.com/merwin-asm/april/tree/main/go) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/go/)|\n| Rust     | [Link](https://github.com/merwin-asm/april/tree/main/rust) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/rust/info.md)|\n| PHP     | [Link](https://github.com/merwin-asm/april/tree/main/php) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/php/info.md)|\n| Dart     | [Link](https://github.com/merwin-asm/april/tree/main/dart) | [merwin-asm](https://github.com/merwin-asm/)| [Link](https://github.com/merwin-asm/april/blob/main/dart/)|\n| Ruby     | [Link](https://github.com/merwin-asm/april/tree/main/ruby) | [merwin-asm](https://github.com/merwin-asm/) | [Link](https://github.com/merwin-asm/april/blob/main/ruby/info.md)|\n\n\n# About making a package yourself\n- The packages are used to connect the april program and the program dedicated to the endpoint.\n- When the program pointed to the endpoint is called the program is suplied with a call ID in the form of commandline argument (last argument). The program can access details related to the request in the json file \".\" + call ID + \".input\". And the output of the program can be put in to the json file \".\" + call ID + \".output\".\n## About the input and output files\n### **Input File** : \n- Json file\n- Filename : \".\" + call ID + \".input\"\n- Contains information about the request ,\n  ```\n  {\n  \"request\" : dict containing info of the request,\n  \"input\" : {\"varible_name_in_the_url\" : \"value\", ....}\n  }\n  ```\n  - The 'request' dict have all the same keys as in [starlette.requests](https://www.starlette.io/requests/)\n\n### **Output File** :\n- Json file\n- Filename : \".\" + call ID + \".output\"\n- Should contain information about the response ,\n```\n{\n\"headers\" : <headers for the response>,\n\"status\" : <status code>,\n\"output\" : \"the data to be send out to the user\"\n}\n```\n- The output and input files automatically gets deleted when the data in the output file is gained.\n\n## Support\n\nFor support, join our discord server https://discord.gg/PXMSPJXhXd\n\n## Roadmap\n\nSee the [open issues](https://github.com/merwin-asm/april/issues) for a list of proposed features (and known issues).\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n* If you have suggestions for adding or removing projects, feel free to [open an issue](https://github.com/merwin-asm/april/issues/new) to discuss it, or directly create a pull request after you edit the *README.md* file with necessary changes.\n* Please make sure you check your spelling and grammar.\n* Create individual PR for each suggestion.\n* Please also read through the [Code Of Conduct](https://github.com/merwin-asm/april/blob/main/CODE_OF_CONDUCT.md) before posting your first idea as well.\n\n### Creating A Pull Request\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License\n\nDistributed under the MIT License. See [LICENSE](https://github.com/merwin-asm/april/blob/main/LICENSE.md) for more information.\n\n## Authors\n\n* **Merwin** - *Comp Sci Student* - [Merwin](https://github.com/merwin-asm/) - *Main programmer*\n\n## Contributors\n\n* [Axorax](https://github.com/axorax)\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Programming Language to make API [Utilise the power of all languages in you API]",
    "version": "1.0.1",
    "project_urls": {
        "Homepage": "https://github.com/merwin-asm/April"
    },
    "split_keywords": [
        "api",
        "programming",
        "language",
        "april",
        "aprillang"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ddb556daac0bbc16905e261c4f320bea06ba3bcf5185472a63f713037d0cfada",
                "md5": "0588eb3bfcbf5e45ffa15d0a4f3a1393",
                "sha256": "86b09d00481736a6974784cf7ace4fac384757a16ea5ce9f894305e6bfae1987"
            },
            "downloads": -1,
            "filename": "aprillang-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "0588eb3bfcbf5e45ffa15d0a4f3a1393",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 5753,
            "upload_time": "2024-01-25T09:26:04",
            "upload_time_iso_8601": "2024-01-25T09:26:04.678441Z",
            "url": "https://files.pythonhosted.org/packages/dd/b5/56daac0bbc16905e261c4f320bea06ba3bcf5185472a63f713037d0cfada/aprillang-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-25 09:26:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "merwin-asm",
    "github_project": "April",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "aprillang"
}
        
Elapsed time: 0.17021s