Python wrapper for the Mastodon (https://github.com/mastodon/mastodon) API.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
spla 75d5a5cba4 Changed version 6 days ago
docs Documentation for processing unknown events in streaming. 3 months ago
mastodon Changed version 6 days ago
tests Fixed overseen test failure with new app name in "secret" file 3 months ago
.gitignore Update .gitignore to ignore pytest cache 3 years ago
.travis.yml Sunset 2.7 3 years ago
CHANGELOG.rst Prep release 1.5.1 3 years ago
DEVELOPMENT.md Add reactions to changelog 3 years ago
LICENSE Update LICENSE to reflect that this is not a single person project 3 years ago
MANIFEST.in Update MANIFEST.in 4 years ago
Pipfile Update Pipfile 3 years ago
Pipfile.lock Doc fixes, remove some broken code, note about blocks 3 years ago
README.md Changed version 6 days ago
setup.cfg add coverage reports to tests 5 years ago
setup.py New endpoints 3 weeks ago
tox.ini Sunset 2.7 3 years ago

README.md

Mastodonplus.py

Fork of Python wrapper for the Mastodon (https://github.com/mastodon/mastodon) API.
The goal of this fork is to add all 'new' Mastodon API's endpoints to the excellent halcy's wrapper.

Register your app! This only needs to be done once. Uncomment the code and substitute in your information.

from mastodon import Mastodon

Mastodon.create_app(
	'pytooterapp',
	api_base_url = 'https://your-mastodon.server'
	to_file = 'pytooter_clientcred.secret'
	)

Then login. This can be done every time, or use persisted.

from mastodon import Mastodon

mastodon = Mastodon(
	client_id = 'pytooter_clientcred.secret',
	api_base_url = 'https://your-mastodon.server'
	)  
mastodon.log_in(  
	'my_login_email@example.com',  
	'incrediblygoodpassword',  
	to_file = 'pytooter_usercred.secret'
	)

To post, create an actual API instance.

from mastodon import Mastodon  

 mastodon = Mastodon(  
	access_token = 'pytooter_usercred.secret',  
	api_base_url = 'https://your-mastodon.server>'  
	)  
mastodon.toot('Tooting from python using #mastodonpy !')  

You can install Mastodonplus.py via pypi:

# Python 3
pip3 install Mastodonplus.py

New features

  • 26.8.2022. Mastodon v3.6.0. Added New endpoints: /api/v1/admin/domain_blocks (list,show by id, delete and create)
  • 27.8.2022. Mastodon v3.1.4. Added 'remote" param to GET /api/v1/timelines/public REST API
  • 27.8.2022. Mastodon v3.1.4. Added GET /api/v1/streaming/public/remote (Mastodon.stream_remote())
  • 06.9.2022. Mastodon v3.2.0. Added POST /api/v1/accounts/:account_id/note with comment param. (Mastodon.accounts_note(id=account_id, comment='comment')
  • 06.9.2022. Mastodon v3.6.0. Added GET /api/v1/admin/ip_blocks (Mastodon.admin_ip_blocks_list(max_id=None, min_id=None, since_id=None, limit=None)
  • 06.9.2022. Mastodon v3.6.0. Added DELETE /api/v1/admin/ip_blocks/:id (Mastodon.admin_ip_blocks_delete(id=None)
  • 06.9.2022. Mastodon v3.6.0. Added POST /api/v1/admin/ip_blocks (Mastodon.admin_ip_blocks_create(self, ip=None, severity=None, comment=None, expires_in=None)
    severity possible values are: sign_up_requires_approval, sign_up_block, no_access