A simple Python client to use the Akeneo PIM API.
Dependencies are managed with pipenv (list of dependencies available in Pipfile).
You may install them with:
pipenv install --dev
The easiest is to use pipenv in your new project:
pipenv install git+https://github.com/matthieudelaro/akeneo_api_client#egg=akeneo_api_client
A simple example is provided in docs/example.py.
To export the data from your PIM, you may use the docs/example_exporter.py.
If you experience issues when importing modules, run the examples as follow:
cd docs
pipenv run python3 example_exporter.py
Run tests as follow:
pipenv run nosetests
If tests don't pass in your environment, please check that dependencies match those described in Pipfile. One way to do it is to ensure that pipenv runs commands in a dedicated virtualenv by setting environment variable as follow:
export PIPENV_IGNORE_VIRTUALENVS=1
pipenv install --dev # (re)run installation of dependencies
Or even emulate Travis in Docker:
# This will:
# - copy the current directory into a temporary directory, which will be mounted in (and modified by) a docker container
# - run the container of Travis as explained here: https://stackoverflow.com/a/49019950
# - run the steps of Travis thanks to wwtd: https://github.com/grosser/wwtd
rm -rf /tmp/localTravis; cp -R . /tmp/localTravis; INSTANCE="travisci/ci-garnet:packer-1512502276-986baf0"; BUILDID="build-$RANDOM"; docker run --name $BUILDID -dit -v /tmp/localTravis:/home/travis/matthieudelaro/akeneo_api_client $INSTANCE /sbin/init; docker exec -it --user travis $BUILDID bash -lc "whoami; cd /home/travis/matthieudelaro/akeneo_api_client; gem install wwtd; source ~/virtualenv/python3.6/bin/activate; wwtd -u before_install -u install -u before_script -u language -u python; history; bash"
Tests are provided with mocks, recorded with VCR.py. In case you need to (re)run tests, you should install the dataset in you PIM instance as follow:
- specify the database to install in app/config/parameters.yml:
installer_data: PimInstallerBundle:icecat_demo_dev
install the database by running the following command:
bin/console pim:installer:db --env=prod # or, in case you are using Docker: docker-compose exec fpm bin/console pim:installer:db --env=prod