=======
Sopel
=======
|version| |build| |issues| |coverage-status| |license|
Introduction
------------
Sopel is a simple, lightweight, open source, easy-to-use IRC Utility bot,
written in Python. It's designed to be easy to use, run and extend.
Installation
------------
Latest stable release
=====================
On most systems where you can run Python, the best way to install Sopel is to
install `pip <https://pypi.org/project/pip/>`_ and then ``pip install sopel``.
Arch users can install the ``sopel`` package from the [community] repository,
though new versions might take slightly longer to become available.
Failing both of those options, you can grab the latest tarball `from GitHub
<https://github.com/sopel-irc/sopel/releases/latest>`_ and follow the steps
for installing from the latest source below.
Latest source
=============
First, either clone the repository with ``git clone
https://github.com/sopel-irc/sopel.git`` or download a `source archive from
GitHub <https://github.com/sopel-irc/sopel/archive/refs/heads/master.zip>`_.
Note: Sopel requires Python 3.8+ to run.
In the source directory (whether cloned or from the tarball) run ``pip install
-e .``. You can then run ``sopel`` to configure and start the bot.
Database support
----------------
Sopel leverages SQLAlchemy to support the following database types: SQLite,
MySQL, PostgreSQL, MSSQL, Oracle, Firebird, and Sybase. By default Sopel will
use a SQLite database in the current configuration directory, but alternative
databases can be configured with the following config options: ``db_type``,
``db_filename`` (SQLite only), ``db_driver``, ``db_user``, ``db_pass``,
``db_host``, ``db_port``, and ``db_name``. You will need to manually install
any packages (system or ``pip``) needed to make your chosen database work.
**Note:** Plugins not updated since Sopel 7.0 was released *might* have
problems with database types other than SQLite (but many will work just fine).
Adding plugins
--------------
The easiest place to put new plugins is in ``~/.sopel/plugins``. Some newer
plugins are installable as packages; `search PyPI
<https://pypi.org/search/?q=%22sopel%22>`_ for these. Many more plugins
written by other users can be found using your favorite search engine.
Some older, unmaintained plugins are available in the
`sopel-extras <https://github.com/sopel-irc/sopel-extras>`_ repository, but of
course you can also write your own. A `tutorial <https://sopel.chat/tutorials/part-1-writing-plugins/>`_
for creating new plugins is available on Sopel's website.
API documentation can be found online at https://sopel.chat/docs/, or
you can create a local version by running ``make docs``.
Further documentation
---------------------
The `official website <https://sopel.chat/>`_ includes such valuable information
as a full listing of built-in `commands <https://sopel.chat/usage/commands/>`_,
`tutorials <https://sopel.chat/tutorials/>`_, `API documentation <https://sopel.chat/docs/>`_,
and other `usage information <https://sopel.chat/usage/>`_.
Questions?
----------
Join us in `#sopel <irc://irc.libera.chat/#sopel>`_ on Libera Chat.
Donations
---------
We're thrilled that you want to support the project!
You can `sponsor Sopel <https://github.com/sponsors/sopel-irc>`_ here on
GitHub or donate through `Open Collective <https://opencollective.com/sopel>`_.
Any donations received will be used to cover infrastructure costs, such as our
domain name and hosting services. Our main project site is easily hosted by
`Netlify <https://www.netlify.com/>`_, but we are considering building a few
new features that would require more than static hosting. All project-related
`expenses <https://opencollective.com/sopel/expenses>`_ are tracked on our
Open Collective profile, for transparency.
.. |version| image:: https://img.shields.io/pypi/v/sopel.svg
:target: https://pypi.python.org/pypi/sopel
.. |build| image:: https://github.com/sopel-irc/sopel/actions/workflows/ci.yml/badge.svg?branch=master&event=push
:target: https://github.com/sopel-irc/sopel/actions/workflows/ci.yml?query=branch%3Amaster+event%3Apush
.. |issues| image:: https://img.shields.io/github/issues/sopel-irc/sopel.svg
:target: https://github.com/sopel-irc/sopel/issues
.. |coverage-status| image:: https://coveralls.io/repos/github/sopel-irc/sopel/badge.svg?branch=master
:target: https://coveralls.io/github/sopel-irc/sopel?branch=master
.. |license| image:: https://img.shields.io/pypi/l/sopel.svg
:target: https://github.com/sopel-irc/sopel/blob/master/COPYING
Raw data
{
"_id": null,
"home_page": null,
"name": "sopel",
"maintainer": "dgw, Florian Strzelecki",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "dgw, Florian Strzelecki, Sean B. Palmer, Else Powell, Elad Alfassa, Dimitri Molenaars, Michael Yanovich",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/d8/8a/e156e9dc5c20bc2bc43fbaf232020eb60c0c9debe554f4f114f70ed31d01/sopel-8.0.1.tar.gz",
"platform": "Linux x86, x86-64",
"description": "=======\n Sopel\n=======\n\n|version| |build| |issues| |coverage-status| |license|\n\nIntroduction\n------------\n\nSopel is a simple, lightweight, open source, easy-to-use IRC Utility bot,\nwritten in Python. It's designed to be easy to use, run and extend.\n\nInstallation\n------------\n\nLatest stable release\n=====================\nOn most systems where you can run Python, the best way to install Sopel is to\ninstall `pip <https://pypi.org/project/pip/>`_ and then ``pip install sopel``.\n\nArch users can install the ``sopel`` package from the [community] repository,\nthough new versions might take slightly longer to become available.\n\nFailing both of those options, you can grab the latest tarball `from GitHub\n<https://github.com/sopel-irc/sopel/releases/latest>`_ and follow the steps\nfor installing from the latest source below.\n\nLatest source\n=============\nFirst, either clone the repository with ``git clone\nhttps://github.com/sopel-irc/sopel.git`` or download a `source archive from\nGitHub <https://github.com/sopel-irc/sopel/archive/refs/heads/master.zip>`_.\n\nNote: Sopel requires Python 3.8+ to run.\n\nIn the source directory (whether cloned or from the tarball) run ``pip install\n-e .``. You can then run ``sopel`` to configure and start the bot.\n\nDatabase support\n----------------\nSopel leverages SQLAlchemy to support the following database types: SQLite,\nMySQL, PostgreSQL, MSSQL, Oracle, Firebird, and Sybase. By default Sopel will\nuse a SQLite database in the current configuration directory, but alternative\ndatabases can be configured with the following config options: ``db_type``,\n``db_filename`` (SQLite only), ``db_driver``, ``db_user``, ``db_pass``,\n``db_host``, ``db_port``, and ``db_name``. You will need to manually install\nany packages (system or ``pip``) needed to make your chosen database work.\n\n**Note:** Plugins not updated since Sopel 7.0 was released *might* have\nproblems with database types other than SQLite (but many will work just fine).\n\nAdding plugins\n--------------\nThe easiest place to put new plugins is in ``~/.sopel/plugins``. Some newer\nplugins are installable as packages; `search PyPI\n<https://pypi.org/search/?q=%22sopel%22>`_ for these. Many more plugins\nwritten by other users can be found using your favorite search engine.\n\nSome older, unmaintained plugins are available in the\n`sopel-extras <https://github.com/sopel-irc/sopel-extras>`_ repository, but of\ncourse you can also write your own. A `tutorial <https://sopel.chat/tutorials/part-1-writing-plugins/>`_\nfor creating new plugins is available on Sopel's website.\nAPI documentation can be found online at https://sopel.chat/docs/, or\nyou can create a local version by running ``make docs``.\n\nFurther documentation\n---------------------\n\nThe `official website <https://sopel.chat/>`_ includes such valuable information\nas a full listing of built-in `commands <https://sopel.chat/usage/commands/>`_,\n`tutorials <https://sopel.chat/tutorials/>`_, `API documentation <https://sopel.chat/docs/>`_,\nand other `usage information <https://sopel.chat/usage/>`_.\n\nQuestions?\n----------\n\nJoin us in `#sopel <irc://irc.libera.chat/#sopel>`_ on Libera Chat.\n\nDonations\n---------\n\nWe're thrilled that you want to support the project!\n\nYou can `sponsor Sopel <https://github.com/sponsors/sopel-irc>`_ here on\nGitHub or donate through `Open Collective <https://opencollective.com/sopel>`_.\n\nAny donations received will be used to cover infrastructure costs, such as our\ndomain name and hosting services. Our main project site is easily hosted by\n`Netlify <https://www.netlify.com/>`_, but we are considering building a few\nnew features that would require more than static hosting. All project-related\n`expenses <https://opencollective.com/sopel/expenses>`_ are tracked on our\nOpen Collective profile, for transparency.\n\n.. |version| image:: https://img.shields.io/pypi/v/sopel.svg\n :target: https://pypi.python.org/pypi/sopel\n.. |build| image:: https://github.com/sopel-irc/sopel/actions/workflows/ci.yml/badge.svg?branch=master&event=push\n :target: https://github.com/sopel-irc/sopel/actions/workflows/ci.yml?query=branch%3Amaster+event%3Apush\n.. |issues| image:: https://img.shields.io/github/issues/sopel-irc/sopel.svg\n :target: https://github.com/sopel-irc/sopel/issues\n.. |coverage-status| image:: https://coveralls.io/repos/github/sopel-irc/sopel/badge.svg?branch=master\n :target: https://coveralls.io/github/sopel-irc/sopel?branch=master\n.. |license| image:: https://img.shields.io/pypi/l/sopel.svg\n :target: https://github.com/sopel-irc/sopel/blob/master/COPYING\n",
"bugtrack_url": null,
"license": "EFL-2.0",
"summary": "Simple and extensible IRC bot",
"version": "8.0.1",
"project_urls": {
"Bug Tracker": "https://github.com/sopel-irc/sopel/issues",
"Coverage": "https://coveralls.io/github/sopel-irc/sopel",
"Documentation": "https://sopel.chat/docs/",
"Donate on GitHub": "https://github.com/sponsors/sopel-irc",
"Donate on Open Collective": "https://opencollective.com/sopel",
"Homepage": "https://sopel.chat/",
"Release notes": "https://sopel.chat/changelog/",
"Source": "https://github.com/sopel-irc/sopel"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4a8de28aee6d0f5692cc3be5ae4c7cff3e015bda10be05937c82ab3e368e1fb5",
"md5": "6fa37a664b985db4c3b0bcd642381e08",
"sha256": "6d6f6ec73fd635f4533ca01e52be653c7402b930239b5debfb966956d4933b43"
},
"downloads": -1,
"filename": "sopel-8.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6fa37a664b985db4c3b0bcd642381e08",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 287368,
"upload_time": "2024-11-16T18:59:38",
"upload_time_iso_8601": "2024-11-16T18:59:38.192136Z",
"url": "https://files.pythonhosted.org/packages/4a/8d/e28aee6d0f5692cc3be5ae4c7cff3e015bda10be05937c82ab3e368e1fb5/sopel-8.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d88ae156e9dc5c20bc2bc43fbaf232020eb60c0c9debe554f4f114f70ed31d01",
"md5": "dc3047da7ee4a010b23c9059cf27960b",
"sha256": "67d4dc9f695be5aedce9a55b84f8ee3bab6bad943048103589a3220f3a5ef830"
},
"downloads": -1,
"filename": "sopel-8.0.1.tar.gz",
"has_sig": false,
"md5_digest": "dc3047da7ee4a010b23c9059cf27960b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 250467,
"upload_time": "2024-11-16T18:59:40",
"upload_time_iso_8601": "2024-11-16T18:59:40.070047Z",
"url": "https://files.pythonhosted.org/packages/d8/8a/e156e9dc5c20bc2bc43fbaf232020eb60c0c9debe554f4f114f70ed31d01/sopel-8.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-16 18:59:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sopel-irc",
"github_project": "sopel",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "sopel"
}