Skip to main content

A simple Python wrapper for the Telegraph API

Project description

YTelegraph

PyPi Package Version Supported Python versions PyPi downloads PyPI Downloads PyPi status License

YTelegraph is a simple, user-friendly Python wrapper for the Telegraph API. Publish your content to Telegraph with just a few lines of code!

Table of Contents

Installation

pip install your-telegraph

Quick Start

Publish a Telegraph page in just 4 lines of code:

from ytelegraph import TelegraphAPI

ph = TelegraphAPI()
content = "# Hello, Telegraph!\n\nThis is my first Telegraph page using YTelegraph."
ph_link = ph.create_page_md("My First Page", content)
print(f"Your page is live at: {ph_link}")

That's it! No need to worry about tokens, account creation, or complex API calls.

Key Features

  • Simple: Create and publish Telegraph pages with minimal code.
  • Markdown Support: Write your content in Markdown and let YTelegraph handle the conversion.
  • Flexible Token Management: Use your own token or let YTelegraph handle account creation.
  • Full API Access: For advanced users, complete access to Telegraph API features is available.

Why YTelegraph?

"All you need is a title and content. That's it. Just like https://telegra.ph/, but in Python."

YTelegraph brings the simplicity of Telegraph's web interface to your Python projects. Whether you're creating a bot, a content management system, or just want to quickly publish some content, YTelegraph makes it easy.

More Examples

Create a page from a Markdown file

from ytelegraph import TelegraphAPI

ph = TelegraphAPI()

with open('my_article.md', 'r') as f:
    content = f.read()

ph_link = ph.create_page_md("My Article", content)
print(f"Article published at: {ph_link}")

Use your own Telegraph token

from os import environ
from ytelegraph import TelegraphAPI

TELEGRA_PH_TOKEN = environ.get("TELEGRA_PH_TOKEN")

ph = TelegraphAPI(TELEGRA_PH_TOKEN)

This method is useful if you want to use an existing Telegraph account or manage tokens yourself.

Advanced Usage

Try and see the examples/second_usage.py at here.

Token Management

YTelegraph offers flexible token management:

  1. Automatic: If no token is provided, YTelegraph creates a new account and manages the token for you.
  2. Environment Variable: Set the TELEGRA_PH_TOKEN environment variable, and YTelegraph will use it automatically.
  3. Direct Input: Pass your token directly to the TelegraphAPI constructor.
  4. Token file path: Set PH_TOKEN_PATH if you want the automatically created token stored somewhere other than the default token file.

Choose the method that best fits your workflow and security requirements.

Create Account

While YTelegraph handles account creation automatically, you might want to create your own Telegraph account for more control. Here's a quick guide:

  1. Visit this URL in your browser (feel free to customize the parameters): https://api.telegra.ph/createAccount?short_name=Sandbox&author_name=Anonymous

    • Replace Sandbox with any name to help you remember this account (only visible to you)
    • Change Anonymous to your preferred author name (default for your articles)
    • Or keep them as is – it's totally fine!
  2. After accessing the link, you'll see a response like this:

    {
      "ok": true,
      "result": {
        "short_name": "Sandbox",
        "author_name": "Anonymous",
        "author_url": "",
        "access_token": "abcedfeghijklmnopqrstuvwxyz",
        "auth_url": "https://edit.telegra.ph/auth/qwertyuiop"
      }
    }
    
  3. The access_token (in this example, abcedfeghijklmnopqrstuvwxyz) is what you'll use in your code. (Note: This is not a real token!)

For more details, check out the Telegraph API documentation.

YTelegraph makes this process super easy, but it's good to know how to do it manually if you ever need to.

Development and Testing

This project still uses the small setuptools/pip workflow it started with:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt -e .
python -m unittest discover -s tests
python -m compileall ytelegraph tests
python -m pip install build
python -m build

You can also test the package with uv without converting the project to uv:

uv run --with-requirements requirements.txt python -m unittest discover -s tests
uv run --with-requirements requirements.txt python -m compileall ytelegraph tests
uv run --with build --with-requirements requirements.txt python -m build

The examples in examples/ and scripts in draft_tests/ are live Telegraph API checks. Run them intentionally because they can create or edit Telegraph pages:

python examples/basic_usage.py
python examples/second_usage.py

Versioning

For the versions available, see the CHANGELOG.md file.

Support

If you encounter any problems or have any questions, please open an issue on our GitHub repository.

Contributing

We welcome contributions! Feel free to submit issues or pull requests.

License

YTelegraph is released under the MIT License. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

your_telegraph-0.2.2.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

your_telegraph-0.2.2-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file your_telegraph-0.2.2.tar.gz.

File metadata

  • Download URL: your_telegraph-0.2.2.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for your_telegraph-0.2.2.tar.gz
Algorithm Hash digest
SHA256 ffda56eaf33dac4e492e52ba583ec930fda72734931832c11e0a31456e126d72
MD5 4bf4616ae277dd6786457d2a32e79746
BLAKE2b-256 f588638fbde6fd80c02ae67440c80bd46faa85e2d1c09cc2499b3215ac6d8188

See more details on using hashes here.

Provenance

The following attestation bundles were made for your_telegraph-0.2.2.tar.gz:

Publisher: python-publish.yml on alterxyz/YTelegraph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file your_telegraph-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: your_telegraph-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for your_telegraph-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f3fb5d3004d09674625f833021b59e1b6507d1fbcaeba3265e4393fccdbf1d63
MD5 15175367087e188c4480abf6d978ce32
BLAKE2b-256 278e206d89d28d233c036328b42624079aa7b725e0c995d39d1a3df0db616b9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for your_telegraph-0.2.2-py3-none-any.whl:

Publisher: python-publish.yml on alterxyz/YTelegraph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page