rogue-scholar-api


Namerogue-scholar-api JSON
Version 0.7.1 PyPI version JSON
download
home_pagehttps://rogue-scholar.org
SummaryAPI for the Rogue Scholar science blogging platform.
upload_time2023-10-24 15:51:36
maintainer
docs_urlNone
authorMartin Fenner
requires_python>=3.10,<4.0
licenseMIT
keywords science blogging quart api supabase typesense
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Build](https://github.com/front-matter/rogue-scholar-api/actions/workflows/build.yml/badge.svg)](https://github.com/front-matter/rogue-scholar-api/actions/workflows/build.yml)
[![PyPI version](https://img.shields.io/pypi/v/rogue-scholar-api.svg)](https://pypi.org/project/rogue-scholar-api/)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=front-matter_rogue-scholar-api&metric=coverage)](https://sonarcloud.io/summary/new_code?id=front-matter_rogue-scholar-api)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=front-matter_rogue-scholar-api&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=front-matter_rogue-scholar-api)
[![docs](https://img.shields.io/badge/docs-passing-blue)](https://docs.rogue-scholar.org)
![GitHub](https://img.shields.io/github/license/front-matter/rogue-scholar-api?logo=MIT)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8433679.svg)](https://doi.org/10.5281/zenodo.8433679)

# Rogue Scholar API

The backend server for the [Rogue Scholar](https://rogue-scholar.org) science blog archive. The Rogue Scholar API is a Python [Quart](https://pgjones.gitlab.io/quart/) application that provides a RESTful API for the Rogue Scholar service.

## Installation

Requires Python 3.8 or higher (Python 3.11 recommended). Uses [Poetry](https://python-poetry.org/) for dependency management. Depends on credentials for the Rogue Scholar Postgres database (hosted by Supabase) and Rogue Scholar search index (hosted by Typesense):

```
# required environment variables
SUPABASE_URL
SUPABASE_ANON_KEY
TYPESENSE_HOST
TYPESENSE_API_KEY
```

The API uses Poetry for dependency management. To install Poetry, see the [Poetry documentation](https://python-poetry.org/docs/#installation). Then install the dependencies and run the server:

```
poetry install
poetry run quart --app rogue_scholar_api run
```

The API will then be available at `http://localhost:5000`.


## Development

We use pytest for testing:

```
poetry run pytest
```

Follow along via [Github Issues](https://github.com/front-matter/rogue-scholar-api/issues). Please open an issue if you encounter a bug or have a feature request.

### Note on Patches/Pull Requests

- Fork the project
- Write tests for your new feature or a test that reproduces a bug
- Implement your feature or make a bug fix
- Do not mess with Rakefile, version or history
- Commit, push and make a pull request. Bonus points for topical branches.

## Documentation

Documentation (work in progress) for using Rogue Scholar is available at the [Rogue Scholar Documentation](https://docs.rogue-scholar.org/) website.

The Rogue Scholar API documentation is served by default at [/openapi.json](https://api.rogue-scholar.org/openapi.json) according to the OpenAPI standard, or at [/docs](https://api.rogue-scholar.org/docs) for a SwaggerUI interface, or at [/redocs](https://api.rogue-scholar.org/redocs) for a redoc interface.

## Meta

Please note that this project is released with a [Contributor Code of Conduct](https://github.com/front-matter/rogue-scholar-api/blob/main/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.  

License: [MIT](https://github.com/front-matter/rogue-scholar-api/blob/main/LICENSE)

            

Raw data

            {
    "_id": null,
    "home_page": "https://rogue-scholar.org",
    "name": "rogue-scholar-api",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<4.0",
    "maintainer_email": "",
    "keywords": "science,blogging,quart,api,supabase,typesense",
    "author": "Martin Fenner",
    "author_email": "martin@front-matter.io",
    "download_url": "https://files.pythonhosted.org/packages/33/b9/7321b8e51b01240241af9ff1ef2abfd1bf3a904c63a5ff8e772c73c6d7f8/rogue_scholar_api-0.7.1.tar.gz",
    "platform": null,
    "description": "[![Build](https://github.com/front-matter/rogue-scholar-api/actions/workflows/build.yml/badge.svg)](https://github.com/front-matter/rogue-scholar-api/actions/workflows/build.yml)\n[![PyPI version](https://img.shields.io/pypi/v/rogue-scholar-api.svg)](https://pypi.org/project/rogue-scholar-api/)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=front-matter_rogue-scholar-api&metric=coverage)](https://sonarcloud.io/summary/new_code?id=front-matter_rogue-scholar-api)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=front-matter_rogue-scholar-api&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=front-matter_rogue-scholar-api)\n[![docs](https://img.shields.io/badge/docs-passing-blue)](https://docs.rogue-scholar.org)\n![GitHub](https://img.shields.io/github/license/front-matter/rogue-scholar-api?logo=MIT)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8433679.svg)](https://doi.org/10.5281/zenodo.8433679)\n\n# Rogue Scholar API\n\nThe backend server for the [Rogue Scholar](https://rogue-scholar.org) science blog archive. The Rogue Scholar API is a Python [Quart](https://pgjones.gitlab.io/quart/) application that provides a RESTful API for the Rogue Scholar service.\n\n## Installation\n\nRequires Python 3.8 or higher (Python 3.11 recommended). Uses [Poetry](https://python-poetry.org/) for dependency management. Depends on credentials for the Rogue Scholar Postgres database (hosted by Supabase) and Rogue Scholar search index (hosted by Typesense):\n\n```\n# required environment variables\nSUPABASE_URL\nSUPABASE_ANON_KEY\nTYPESENSE_HOST\nTYPESENSE_API_KEY\n```\n\nThe API uses Poetry for dependency management. To install Poetry, see the [Poetry documentation](https://python-poetry.org/docs/#installation). Then install the dependencies and run the server:\n\n```\npoetry install\npoetry run quart --app rogue_scholar_api run\n```\n\nThe API will then be available at `http://localhost:5000`.\n\n\n## Development\n\nWe use pytest for testing:\n\n```\npoetry run pytest\n```\n\nFollow along via [Github Issues](https://github.com/front-matter/rogue-scholar-api/issues). Please open an issue if you encounter a bug or have a feature request.\n\n### Note on Patches/Pull Requests\n\n- Fork the project\n- Write tests for your new feature or a test that reproduces a bug\n- Implement your feature or make a bug fix\n- Do not mess with Rakefile, version or history\n- Commit, push and make a pull request. Bonus points for topical branches.\n\n## Documentation\n\nDocumentation (work in progress) for using Rogue Scholar is available at the [Rogue Scholar Documentation](https://docs.rogue-scholar.org/) website.\n\nThe Rogue Scholar API documentation is served by default at [/openapi.json](https://api.rogue-scholar.org/openapi.json) according to the OpenAPI standard, or at [/docs](https://api.rogue-scholar.org/docs) for a SwaggerUI interface, or at [/redocs](https://api.rogue-scholar.org/redocs) for a redoc interface.\n\n## Meta\n\nPlease note that this project is released with a [Contributor Code of Conduct](https://github.com/front-matter/rogue-scholar-api/blob/main/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.  \n\nLicense: [MIT](https://github.com/front-matter/rogue-scholar-api/blob/main/LICENSE)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "API for the Rogue Scholar science blogging platform.",
    "version": "0.7.1",
    "project_urls": {
        "Homepage": "https://rogue-scholar.org",
        "Repository": "https://github.com/front-matter/rogue-scholar-api"
    },
    "split_keywords": [
        "science",
        "blogging",
        "quart",
        "api",
        "supabase",
        "typesense"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bceaca19bcf670b2498b28c8af49fd3606ea0df6064cb286eddad5bdf4da9e43",
                "md5": "c6194828606385c2ab3a59d91ad31037",
                "sha256": "d58ccad232c6d27ffd75175fa5e9ecf33502f3f953366c8c55b5288eaf283d42"
            },
            "downloads": -1,
            "filename": "rogue_scholar_api-0.7.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c6194828606385c2ab3a59d91ad31037",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<4.0",
            "size": 19761,
            "upload_time": "2023-10-24T15:51:34",
            "upload_time_iso_8601": "2023-10-24T15:51:34.526447Z",
            "url": "https://files.pythonhosted.org/packages/bc/ea/ca19bcf670b2498b28c8af49fd3606ea0df6064cb286eddad5bdf4da9e43/rogue_scholar_api-0.7.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33b97321b8e51b01240241af9ff1ef2abfd1bf3a904c63a5ff8e772c73c6d7f8",
                "md5": "29158519340fdc58742d803cb60da570",
                "sha256": "d665f21d2351328792ce0d60836c82952c7a896dfd7a26d53ccee44ec0164363"
            },
            "downloads": -1,
            "filename": "rogue_scholar_api-0.7.1.tar.gz",
            "has_sig": false,
            "md5_digest": "29158519340fdc58742d803cb60da570",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<4.0",
            "size": 18414,
            "upload_time": "2023-10-24T15:51:36",
            "upload_time_iso_8601": "2023-10-24T15:51:36.179590Z",
            "url": "https://files.pythonhosted.org/packages/33/b9/7321b8e51b01240241af9ff1ef2abfd1bf3a904c63a5ff8e772c73c6d7f8/rogue_scholar_api-0.7.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-24 15:51:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "front-matter",
    "github_project": "rogue-scholar-api",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "rogue-scholar-api"
}
        
Elapsed time: 0.13233s