Welcome to CBFS Sync, a suite of classes enabling seamless synchronization between local files and cloud storages or other remote repositories.

Add OneDrive-style, bidirectional synchronization to your applications with CBFS Sync. The event-driven design of CBFS Sync provides an intuitive way to handle operations performed on local files and folders. When remote changes are made, use the included methods to notify the local system.

The CBSync class builds on industry-standard technologies, including the Cloud Filter API on Windows, FUSE on Linux, and File Provider on macOS. CBSync reduces development time and improves the user experience by providing a single API. All icons and indicators visible to the user are presented by the operating system, ensuring a native experience.

The choice of the remote storage is entirely up to you. Whether your data are stored on a popular cloud storage service, a custom file server, or anywhere else, CBFS Sync provides a simple API to facilitate synchronization. CBFS Sync handles integration with the OS, while your code is responsible for handling events and transferring data between local and remote systems. Because your code interacts with the backend, you can also decide to make the synchronization one-way or bidirectional.

Included Classes

CBSync The CBSync component enables seamless synchronization between local files and cloud storages or other remote repositories.

Additional Information

You will always find the latest information about CBFS Sync at our web site: We offer free, fully-functional 30-day trials for all of our products, and our technical support staff are happy to answer any questions you may have during your evaluation.

Please direct all technical questions to To help support technicians assist you as quickly as possible, please provide a detailed and accurate description of your problem, the results you expected, and the results that you received while using our product. For questions about licensing and pricing, and all other general inquiries, please contact

Thank You!

Thank you for choosing CBFS Sync for your development needs. We realize that you have a choice among development tools, and that by choosing us you are counting on us to be a key component in your business. We work around the clock to provide you with ongoing enhancements, support, and innovative products; and we will always do our best to exceed your expectations!


The user-mode library comes in two pieces, both of which must be deployed with the application:

  • A Python module named
  • A native library (unmanaged), named as follows:
    • Windows: pycbfssync24.dll (available for x64 and x86 processor architectures)
    • Linux: (available for x64 and x86 processor architectures)
    • macOS: libpycbfssync24.0.dylib (available for x64 and ARM64 processor architectures)

Both the module and native library are included in the product's Python package, <install_dir>\cbfssync-24.0.xxxx.tar.gz, which should be installed using pip: cd C:\path\to\install_dir python -m pip install cbfssync-24.0.xxxx.tar.gz

Once the product's Python package has been installed, the module can be imported and used: from cbfssync import *. Nothing else is required to deploy the application.

As an alternative to installing the module using pip, you can utilize the built-in setuptools module to package the module for deployment or install it to the machine. python build --build-lib=<app_dir> The above setup command packages the module and native library for deployment. A folder is created in the app_dir directory with the module and the native library packaged inside.


All constants are defined in the cbfssync module.

File Attributes

Value: 0x00000001
The item is a normal file or folder with no other attributes. This attribute may be used to clear any other attributes that may be set on the file or folder.
Value: 0x00000002
The item is read-only.

Note: This attribute is not used by CBFS Sync, but it can be set and retrieved.

Value: 0x00000004
The item is hidden.

Note: This attribute is not used by CBFS Sync, but it can be set and retrieved.

Value: 0x00000008
The item is a system file or folder.

Note: This attribute is not used by CBFS Sync, but it can be set and retrieved.

Value: 0x00100000
Indicates that the item is pinned and that the item's data are always available in the system. This value is not used on macOS.
Value: 0x00200000
Indicates that the item is unpinned and that locally cached data for this item are removed when the last handle to the file is closed. This value is not used on macOS.

File Status Flags

Value: 0x00000001
Indicates that the item is downloaded.

Indicators of file properties update

Value: 0x0002
Creation time has been changed.
Value: 0x0004
Modification (last write) time has been changed.
Value: 0x0008
Last access time has been changed.
Value: 0x0020
File attributes or security flags have been updated.
Value: 0x0040
Files: content has been updated. Not used for folders.
Value: 0x0080
A file or folder was restored from Trash (macOS only).

DeleteItem event flags

Value: 0x00000001
An item was moved to Recycle Bin/Trash rather than deleted.

Result Codes

Value: 0x21000001
Operation will be completed later.
Value: 0x21000002
Component is not active.
Value: 0x21000003
Component is active.
Value: 0x21000004
Invalid parameter.
Value: 0x21000005
Invalid handle.
Value: 0x21000006
Operation denied.
Value: 0x21000007
Component initialization failed.
Value: 0x21000008
The Install method must be called before performing this operation.
Value: 0x21000009
No local data are associated with the current task.
Value: 0x2100000A
Reading of data failed due to the error reported by the operating system.
Value: 0x21000010
Too many items returned during enumeration.
Value: 0x21000011
Requested file or folder information was not provided.
Value: 0x21000012
Requested file or folder was not found.
Value: 0x21000013
File already exists.
Value: 0x21000014
Invalid item name returned during enumeration.
Value: 0x21000015
Invalid item Id returned during enumeration.
Value: 0x21000016
Invalid item attributes returned during enumeration.
Value: 0x21000017
Invalid item property value returned during enumeration.
Value: 0x21000030
Read operation failed.
Value: 0x21000031
Read operation canceled.
Value: 0x21000041
Operating system API error.
Value: 0x21000050
The application has no access to the directory where macOS keeps the folder being synchronized (~/Library/CloudStorage).