### Navigation

- index
- modules |
- next |
- previous |
- Apache Chemistry cmislib 0.5.1 documentation »

# About Apache Chemistry cmislib

The goal of this project is to create a CMIS client for Python that can be used to work with any CMIS-compliant repository.

The library is being developed with the following guidelines:
  - Developers using this API should be able to work with CMIS domain objects without having to worry about the underlying implementation details.
  - The library will use the Resftul AtomPub Binding.
  - The library will conform to the CMIS spec as closely as possible. Several public CMIS repositories are being used to test the API.
  - The library should have no hard-coded URL’s. It should be able to get everything it needs regarding how to work with the CMIS service from the CMIS service URL response and subsequent calls.
  - There shouldn’t have to be a vendor-specific version of this library. The goal is for it to be interoperable with CMIS-compliant providers.

## Quick Example

This should give you an idea of how easy and natural it is to work with the API:

      >>> cmisClient = cmislib.CmisClient('http://localhost:8080/alfresco/cmisatom', 'admin', 'admin')
      >>> repo = cmisClient.defaultRepository
      >>> rootFolder = repo.rootFolder
      >>> children = rootFolder.getChildren()
      >>> newFolder = rootFolder.createFolder('testDeleteFolder folder')
      >>> props = newFolder.properties
      >>> newFolder.delete()

## To-Do’s

Miscellaneous
  - createDocumentFromSource
  - getProperties filter
  - getContentStream stream id
Unfiling/multifiling support
  - createDocument without a parent folder (unfiled)

  > - The spec does not yet support this. Although the spec does say that a folder ID is optional, it does not specify which URL to post the unfiled document to.

Policies
  - Policy object
  - createPolicy
  - applyPolicy
  - removePolicy
  - getAppliedPolicies

### Navigation

- index
- modules |
- next |
- previous |
- Apache Chemistry cmislib 0.5.1 documentation »