PeerTube API SDK for Dart/Flutter

Pub Version License Flutter

PeerTube API SDK is a Dart/Flutter package designed to simplify interaction with PeerTube instances. It provides a comprehensive set of tools to connect, fetch data, and interact with PeerTube nodes, making it easier to build Flutter applications that integrate with the PeerTube decentralized video platform.


Features

  • Easy Integration: Connect to any PeerTube instance with minimal setup.
  • Comprehensive API Coverage: Access all major PeerTube API endpoints, including:
    • Video management (upload, fetch, update, delete).
    • User authentication and account management.
    • Channel and playlist management.
    • Live streaming support.
    • Comments, likes, and dislikes.
  • Cross-Platform: Works on Android, iOS, and web.
  • Open Source: Fully open-source and MIT licensed.

What is PeerTube?

PeerTube is a decentralized, federated video hosting platform built on ActivityPub. It allows users to host their own video servers (instances) while enabling cross-instance interaction. PeerTube is an excellent alternative to centralized platforms like YouTube, offering:

  • Decentralization: No single point of control or failure.
  • Federation: Instances can interact with each other, creating a network of interconnected servers.
  • Privacy: Users have control over their data and content.
  • Open Source: PeerTube is free and open-source software.

Installation

Add the peer_tube_api_sdk package to your pubspec.yaml file:

dependencies:
  peer_tube_api_sdk: ^1.0.10

Then, run flutter pub get to install the package.


Usage

1. Initialize the SDK

import 'package:peer_tube_api_sdk/peer_tube_api_sdk.dart';

final peerTube = PeerTubeApiSdk(basePathOverride: 'https://peertube.example.com');

2. Fetch Video Details

final videoDetails = await peerTube.getVideoApi().getVideo(videoId: 123);
print(videoDetails.name); // Video title
print(videoDetails.description); // Video description

Example App

Check out the example app included in this package to see how to use the SDK in a real-world Flutter application.


Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Submit a pull request with a detailed description of your changes.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Support

If you encounter any issues or have questions, feel free to open an issue on the GitHub repository.


Acknowledgments

  • PeerTube for building an amazing decentralized video platform.
  • Flutter for providing a powerful framework for building cross-platform apps.
  • video_player and chewie for video playback support.

About the Author

This package is developed and maintained by Eleazar Garrido. You can reach out to me at eleazartovar123@gmail.com.


Happy coding! 🚀

Libraries

peer_tube_api_sdk