voipms-api
This package is developed to streamline the process of integrating with the VoIP.ms API, allowing developers to focus on implementing functionality without the need to write boilerplate code for API connectivity and function calls. The VoIP.ms API Client encapsulates all necessary code to connect and interact with the VoIP.ms API, enabling developers to call functions directly.
Features
- Simplified Integration: Connect to the VoIP.ms API with minimal setup.
- Modular Design: Organized into separate modules for different functionalities, allowing targeted imports and reduced overhead.
- Ongoing Development: New functions will continue to be added.
Changelog
See CHANGELOG.md for the release history.
Installation
The package is now available at PyPi and can be installed in your virtual environment running this command:
pip install voipms-api
Requires Python 3.11 or newer.
Package structure
voipms-api
├── src/
│ └── voipms_api/
│ ├── __init__.py
│ ├── accounts.py
│ ├── call_hunting.py
│ ├── dids.py
│ ├── fax.py
│ ├── forwarding.py
│ ├── general.py
│ ├── ivr.py
│ ├── lnp.py
│ ├── ring_groups.py
│ ├── sms.py
│ ├── voicemail.py
│ └── voipms_client.py
└── tests/
├── conftest.py
├── test_modules.py
└── test_voipms_client.py
Usage
The credentials can be loaded on your virtual enviroment by adding the following variables on an .env file:
VOIPMS_API_USER = "Your VoIP.ms account email"
VOIPMS_API_PASSWORD = "Your VoIP.ms API password"
After this, you can start importing the classes and use their functions. Here is an example:
from voipms_api import DIDs
dids = DIDs()
print(dids.get_dids_info())
Or, you can add the credentials when calling a single instance. For example:
from voipms_api import General
balance = General(username="me@email.com", password="api_password")
print(balance.get_balance())
Additionally, you can add your credentials or use different credentials by using the class VoipMsClient.
This class also allows you to use the methods "get" and "post" to call a VoIP.ms function that might not be available in this package yet.
Here is an example:
from voipms_api import VoipMsClient
vms_client = VoipMsClient(username="me@email.com", password="your VoIP.ms API password")
vms_client.get("getCountries", {"country": "CA"})
Module Capabilities
Currently, the modules of accounts and voice features within the voipms-api package provide basic functionalities for creating, retrieving, and deleting items.
You will find the current available functions in the description of each class.
Additional functionalities will be added over time.
Examples of scripts
You can find more examples of scripts in the examples directory in the Github repository. These scripts demonstrate how to use the some features of the voipms-api package.
Development
Clone the repository and install the development environment with pipenv (Python version in .python-version):
pipenv sync --dev
pipenv run pytest
The tests mock the API, so no credentials are needed. To also run the tests that call the real API with the credentials in your .env:
VOIPMS_LIVE_TESTS=1 pipenv run pytest
Releasing
Versions follow Semantic Versioning: MAJOR for breaking changes, MINOR for new features, PATCH for bug fixes.
- Update
versioninpyproject.tomland move theUnreleasednotes inCHANGELOG.mdunder the new version and date. Runpipenv sync --devso your local install picks up the new version. - Merge to
main. - Tag the release and push the tag. GitHub Actions runs the tests and publishes to PyPI.
git tag v1.2.0
git push origin v1.2.0
Contributing
Currently, we are not accepting collaborations. However, if you have suggestions or feedback, feel free to contact us. Issues can be reported on GitHub.
License
This package is free to use and can be included in any project. See the LICENSE file for more details.
Support
For any issues or questions, please raise an issue on GitHub or contact us directly at hello@joseanmont.info
Special Thanks
Kudos to the VoIP.ms development team. They have developed an understandable, simple but still powerful API that lets users take their VoIP system beyond limits.
Metadata
Release files for voipms-api 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| voipms_api-1.2.0.tar.gz | 20.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| voipms_api-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.6 kB
Release files / voipms_api-1.2.0.tar.gz
| Download URL | voipms_api-1.2.0.tar.gz |
|---|---|
| Size | 20.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ef9442d4d2f9c434812433ffd6dfa952d5671d9f4ca25655d1278c68cfc2bba
|
|
BLAKE2b-256 checksum How to use checksums |
049feb1d63fc9f2e4c3786177101ba7f26023427eab3dc51c6de2d69d54cd199
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / voipms_api-1.2.0-py3-none-any.whl
| Download URL | voipms_api-1.2.0-py3-none-any.whl |
|---|---|
| Size | 24.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b1146101a3d4c5a2bc25fd14c79d9d824de6bf0721de2ca2980c6586750efd80
|
|
BLAKE2b-256 checksum How to use checksums |
d52d40b702751c4be0e7a667c0e9b5ad28d30b3ad3c2209af68838dc71f0bc7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for voipms-api 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for voipms_api-1.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.