Skip to main content

Creme is a free/open-source Customer Relationship Management software developed by Hybird (www.hybird.org).

It is designed with an entities/relationships architecture, and is highly configurable, which allows adapting Creme to many workflows.

Detailed view of a contact

It provides apps (i.e. modules) to manage:

  • Contacts & organisations.
  • Documents & folders.
  • Activities (meetings, phone calls, tasks...) with a calendar.
  • Products & services.
  • Invoices, quotes, sales orders & credit notes.
  • Opportunities.
  • Commercial actions.
  • Email campaigns.
  • Reports.
  • Tickets.
  • Alerts, todos & memos.
  • Geolocation.
  • ...

Lots of aspects can be configured through a graphical interface :

  • Detailed views for entities are built from blocks; you can configure which blocks are displayed, you can create your own the blocks (chose the fields which are used)...
  • You can configure the columns of the list views (columns can be related to fields, custom-fields, relationships...), and filter the lines with powerful rules.
  • You can create your custom-fields, or hide existing fields.
  • You can choose which fields of forms are used, and group them like you want.
  • You can create your own types of relationship, adapted to your business.
  • ...

Creme has powerful tools to filter, search or import data. it provides a credential system with some cool features (teams, allow/forbid entities from a filter on fields/relationships, ...).

If you have very specific needs, Creme can also be used as a CRM framework to code your own CRM.

Creme is coded in Python, and uses the Django web framework (http://www.djangoproject.com/) and the JQuery JavaScript library (http://jquery.com/).

You can find more information on Creme on its official website: http://cremecrm.com/ You can ask your questions in our forum: https://www.cremecrm.com/forum/index.php (there is an english section)

Current translations

  • English (could probably be improved)
  • French

Recommendations:

It's recommended to use a database engine which supports transactions :

  • PostgreSQL is probably the best choice for databases with 100,000+ entities.
  • SQLite support is principally done for developers, but it remains a solution for small databases (e.g. a use as mono-user app with the server running of your computer).

You probably should use 'virtualenv' (for an upgrade from a previous version of Creme, you should create a new virtual env, in order to keep the old one working).

Dependencies

  • Python 3.11+
  • MySQL 8.0.11+ (or MariaDB 10.5+ but we do not advise you to use MariaDB because it regularly causes strange issues) or PostgreSQL 14+ or SQLite (which is included with Python)
  • A web server compatible with Python, like Apache 2.4
  • Redis 3+
  • These Python packages : (exact versions of Python packages are indicated in the 'setup.cfg' file)
    • Mandatory :
      • Django
      • redis
      • python-dateutil
      • cryptography
      • bleach
      • Pillow
      • django-formtools
      • xlrd (to import contacts, organisations, activities, tickets... from xls files)
      • xlwt (to export all types of entities -- like contacts or organisations -- as xls files)
      • openpyxl (to import & export as above but with xlsx files)
      • csscompressor
      • rJSmin
    • Optional :
      • creme.billing : If you want PDF export, you can use :
        • xhtml2pdf (default)
        • weasyprint (easy to install on Linux; harder on Windows)
        • you can also use the binary "latexmk" with "lualatex"; for example on Ubuntu you'll need these packages:
          • minimum: latexmk texlive-latex-base
          • for french templates: texlive-latex-recommended texlive-latex-extra texlive-fonts-extra texlive-lang-french

Installation with 'pip':

  • You should probably use "virtualenv".
  • To install Creme itself :
    • You can just install from pyPI: 'pip install creme-crm==2.X'
    • If you retrieved the source, you can use the following command at the source's root: 'pip install -e .'
  • About DB server :
    • If you use MySQL/MariaDB, you must add the 'mysql' flag : 'pip install creme-crm[mysql]==2.X' (or 'pip install -e .[mysql]' with the source).
    • For PostgreSQL, you must add the 'pgsql' flag : 'pip install creme-crm[pgsql]==2.X' (or 'pip install -e .[pgsql]' with the source).
    • SQLite doesn't require a specific flag (see RECOMMENDATIONS).
  • Notice some of these Python packages need system libraries to be installed. For example, here a list of Debian/Ubuntu packages you'll have to install before (you could need a C compilator, like 'gcc'):
    • python-dev
    • mysql_config & libmysqlclient-dev (or libpq-dev if you want to use PostgreSQL)
    • redis-server
    • libjpeg-dev, libpng-dev, libtiff-dev, libgif-dev (to manage these different formats)
    • libcairo-dev

Install

Global remarks:

  • You should know how to install/deploy a Django application.
  • Upgrade note: if you already have a Creme installation, upgrade the version one by one (e.g. do not try to upgrade from 2.0 to 2.2, upgrade to 2.1 and then 2.2).

Database configuration: For a new installation, you have to create a new database & a new DB user (who is allowed to create/drop tables, indices...). For an upgrade from the previous major version, back up your existing DB (of course you should back up regularly, even when you do not upgrade Creme...).

Project creation: For new installations AND for upgrades from a previous version, create a new project; with the virtualenv activated, use the following command which creates a new folder:

>> creme creme_start_project my_project

Settings: The newly created file "my_project/my_project/settings.py" gives all the information for a basic installation with the minimal information you must fill.

For an upgrade from the previous version of Creme :

  • See the section "UPGRADE NOTE" corresponding to the new version in the file CHANGELOG.txt.
  • Do not remove apps in INSTALLED_APPS during the upgrade (because they are installed in your DB); complete your installation & then uninstall apps you do not want anymore (see below).

Filling the DB tables & creating the static asset: You must be in the parent folder "my_project/" (i.e. not "my_project/my_project/"). Run the following commands (new installations AND upgrades from a previous version):

>> creme migrate --settings=my_project.settings
>> creme creme_populate --settings=my_project.settings
>> creme generatemedia --settings=my_project.settings

Note for MySQL users: you should load the time zone tables.

Note for MariaDB users: If you have an existing instance of Creme & you upgrade your MariaDB server to 10.7+, you have to convert all the UUID fields (which were just CharFields before MariaDB 10.7) to real UUID fields. See "creme/creme_core/migrations/migrate_uuid.sql" ; copy it & remove the lines related to app which are not installed) before importing it.

Launch

To run the development server, you just have to run this command:

>> creme runserver --settings=my_project.settings

You can then go to http://localhost:8000 & log in with root/root.

For a production deployment (Apache, Nginx...), you should read https://docs.djangoproject.com/en/5.2/howto/deployment/

In order to get a completely functional instance, the job manager must be launched (some features need it: sending emails campaign, CSV import...). To run it, use this command (in a production environment a watch dog is advised):

>> creme creme_job_manager --settings=my_project.settings

Uninstall apps

Note: the UI can be deeply configured from the configuration pages, so uninstalling an app should not be often useful (because you can just remove the blocks/buttons/menu-entries/... you do not want anymore).

When you have a working installation, & REALLY want to remove an (optional) app, use the command 'creme_uninstall' which will clean the DB. When it's done, you can comment the app in 'local_settings.py'.

Contributing

The repository is using CircleCI and launch some linting tests. To check them locally before any commit or push you can use the hooks in '.githooks'. There are two ways to configure them:

Simply change git configuration

>> git config core.hooksPath .githooks

Or create symlink in '.git/hooks/'. Make sure the old one are moved or removed.

>> ln -s ../../.githooks/pre-commit .git/hooks/pre-commit
>> ln -s ../../.githooks/pre-push .git/hooks/pre-push

In order to run the JavaScript linter locally, you can install a NodeJS environment within your virtualenv thanks to the Python package nodeenv. In your virtualenv (named "mycremeenv"):

>> pip install nodeenv
>> nodeenv -n 14.20.0 -p    # to install nodejs 14.20.0 with "mycremeenv"
>> deactivate
>> workon mycremeenv
>> nodejs --version  # to check the installation is OK
>> make node-update  # Install nodejs requirements

Now you can run "make eslint" manually, and the pre-commit hook will check the new/modified files.

References

Creme CRM source code is available on the Creme CRM GitHub Repository.

Want to know more about Creme CRM ? Check out the Creme CRM Website.

Want to try Creme CRM ? Visit the Creme CRM Public Demo Website.

Want your own demo instance ? Pull the latest Creme CRM Demo Docker image on the Creme CRM DockerHub Repository.

Want to know more about our company ? Check out the Hybird Website.

Any other questions ? Need help ? Reach us on the Creme CRM Forums. Our (french) Video tutorials.

Metadata

Release files for creme-crm 2.8.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for creme-crm 2.8.7
File Size Uploaded Provenance Actions
creme_crm-2.8.7.tar.gz 25.3 MB Without provenance Details for creme_crm-2.8.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for creme-crm 2.8.7
File Interpreter ABI Platform Actions
creme_crm-2.8.7-py3-none-any.whl Python 3 none any Details for creme_crm-2.8.7-py3-none-any.whl

Total release size: 52.5 MB

Release files / creme_crm-2.8.7.tar.gz

Download URL creme_crm-2.8.7.tar.gz
Size 25.3 MB
Tags Source
SHA-256 checksum
How to use checksums
b57919a41b6160cc31d68ef2434180a23df2964b00e70c5df2718ed2af098551
BLAKE2b-256 checksum
How to use checksums
1a5ead7aae287e38d93c950c574664d601c0fbb0fb6e71a9fe91eeace065fa38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.18

Release files / creme_crm-2.8.7-py3-none-any.whl

Download URL creme_crm-2.8.7-py3-none-any.whl
Size 27.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
f23bf900bb82db2435135adfe523a1fc634cea854c25b165c22c51e4cd56239f
BLAKE2b-256 checksum
How to use checksums
8e77f2eeb0a883e311d581937c2be87b4413c288becb426faf8e7f2a92753cd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.18

Security for creme-crm 2.8.7

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A 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.

Release history Release notifications | RSS feed

This release

2.8.7 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page