131 lines
4.1 KiB
Raw Normal View History

pySim - Read, Write and Browse Programmable SIM/USIM Cards
This repository contains Python programs that can be used
to read, program (write) and browse certain fields/parameters on so-called programmable
SIM/USIM cards.
Such SIM/USIM cards are special cards, which - unlike those issued by
regular commercial operators - come with the kind of keys that allow you
to write the files/fields that normally only an operator can program.
This is useful particularly if you are running your own cellular
network, and want to issue your own SIM/USIM cards for that network.
Homepage and Manual
Please visit the [official homepage]( for usage instructions, manual and examples. The user manual can also be built locally from this source code by ``cd docs && make html latexpdf`` for HTML and PDF format, respectively.
Git Repository
You can clone from the official Osmocom git repository using
git clone
There is a web interface at <>.
Please install the following dependencies:
- pyscard
- pyserial
- pytlv
- cmd2 >= 1.3.0 but < 2.0.0
- jsonpath-ng
- construct >= 2.9.51
- bidict
- gsm0338
- pyyaml >= 5.1
- termcolor
- colorlog
Example for Debian:
sudo apt-get install --no-install-recommends \
pcscd libpcsclite-dev \
python3 \
python3-setuptools \
python3-pyscard \
pip3 install --user -r requirements.txt
After installing all dependencies, the pySim applications ````, ```` and ```` may be started directly from the cloned repository.
### Archlinux Package
Archlinux users may install the package ``python-pysim-git``
from the [Arch User Repository (AUR)](
The most convenient way is the use of an [AUR Helper](,
e.g. [yay]( or [pacaur](
The following example shows the installation with ``yay``.
# Install
yay -Sy python-pysim-git
# Uninstall
sudo pacman -Rs python-pysim-git
Mailing List
There is no separate mailing list for this project. However,
discussions related to pysim-prog are happening on the
<> mailing list, please see
2017-03-17 21:34:08 +00:00
<> for subscription
options and the list archive.
Please observe the [Osmocom Mailing List
when posting.
Our coding standards are described at
2017-03-17 21:34:08 +00:00
We are using a gerrit-based patch review process explained at
The pySim user manual can be built from this very source code by means
of sphinx (with sphinxcontrib-napoleon and sphinx-argparse). See the
Makefile in the 'docs' directory.
A pre-rendered HTML user manual of the current pySim 'git master' is
available from <> and
a downloadable PDF version is published at
A slightly dated video presentation about pySim-shell can be found at
pySim-shell vs. legacy tools
While you will find a lot of online resources still describing the use of and, those tools are considered legacy by
now and have by far been superseded by the much more capable
pySim-shell. We strongly encourage users to adopt pySim-shell, unless
they have very specific requirements like batch programming of large
quantities of cards, which is about the only remaining use case for the
legacy tools.