Skip to main content

A ligthweight multiplayer networking library for games

Project description

 ████  ██  ██ ██   ██  ████  ██   ██ ██████ ██████ 
██      ████  ███  ██ ██     ███  ██ ██       ██   
 ████    ██   ██ █ ██ ██     ██ █ ██ ████     ██   
    ██   ██   ██  ███ ██     ██  ███ ██       ██   
█████    ██   ██   ██  ████  ██   ██ ██████   ██   
license last-commit repo-top-language repo-language-count

Built with the tools and technologies:

TOML Python

💧 Table of Contents

Table of Contents

🌊 Overview

Syncnet is a lightweight multiplayer library for python games, designed to simplify real-time networking by handling synchronization of game state and communication between clients and server with minimal setup and overhead.


🔵 Project Structure

└── syncnet/
    ├── License.txt
    ├── README.md
    ├── __init__.py
    ├── docs
       └── README.md
    ├── examples
       ├── __init__.py
       ├── client.py
       └── server.py
    ├── pyprojet.toml
    ├── src
       └── syncnet
    ├── tests
       ├── __init__.py
       └── test_server.py
    └── utils
        ├── __init__.py
        └── logger.py

🔷 Project Index

SYNCNET/
__root__
⦿ __root__
File Name Summary
pyprojet.toml Code>❯ Rroject's metadata, dependencies, and build system requirements.
License.txt Code>❯ MIT License
utils
⦿ utils
File Name Summary
logger.py Code>❯ Use for debugging the library.
examples
⦿ examples
File Name Summary
client.py Code>❯ Example of client implementation
server.py Code>❯ Example of server implementation.
src
⦿ src
syncnet
⦿ src.syncnet
File Name Summary
server.py Code>❯ Server to handle client connection and process requests
endpoint.py Code>❯ Defines routes handling specific client's requests and responses.
listener.py Code>❯ Client's connection to the server.
channel.py Code>❯ server-representation-of-a-client.

💠 Getting Started

🅿️ Prerequisites

This project requires the following dependencies:

  • Programming Language: Python 3.12

🌀 Installation

Build syncnet from the source and intsall dependencies:

  1. Clone the repository:

     git clone https://github.com/jtenorio-dev/syncnet
    
  2. Navigate to the project directory:

     cd syncnet
    
  3. Or install using pip:

    pip install syncnet
    

🔹 Usage

Run the project with:

import syncnet

❄️ Testing

Syncnet uses the unittest test framework. Run the test suite with:

python -m unittest discover

🧊 Roadmap

  • Tests cases: Write more test cases.
  • Examples: Write more examples and documentation about its usage.
  • Refactoring: Refactor the code and remove the unecessary loggings.

⚪ Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/jtenorio-dev/syncnet
    
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
    
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
    
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
    
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph


⬜ License

Syncnet is protected under the LICENSE License. For more details, refer to the LICENSE file.


✨ Acknowledgments

  • Credit contributors, inspiration, references, etc.


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

syncnet-1.0.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

syncnet-1.0.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file syncnet-1.0.0.tar.gz.

File metadata

  • Download URL: syncnet-1.0.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for syncnet-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c79ef3ea5403f7174f2236a5d9bfc969cacc740ce635af57b69633f6976fc448
MD5 60a3fa76697b84f2adae4303cb0fcab8
BLAKE2b-256 6fa8b71d7ea1a221b229cd2706279b9a40e4dd8f8de7f4bf41f5b1685e1f0298

See more details on using hashes here.

File details

Details for the file syncnet-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: syncnet-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for syncnet-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2c697752895e534e3ecf0f7822770e099a526d72c0c15abd0722f4afc76edb05
MD5 c64df049cecd59b94c7d71ea3970bc9c
BLAKE2b-256 2691bc687716c6ec3f83ff11d4df5b42047ac59d7669f1100e6c502745b9c1ab

See more details on using hashes here.

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