Is it possible to composite a scene without rendering from the command line? There are options to enable or disable the compositor, but is it possible to composite without rendering ?

./blender --background my_file.blend --composite-only \
    --render-result-from-file my_render_result.exr \
    --render-output my_file_output.exr


Setting bpy.context.scene.render.use_compositing allows us to enable or disable the compositor but I cannot find a good way to skip rendering.

The best workaround I have found is finding the layer with the least objects and only enabling that layer for each render layer in order to get the quickest render and then using a script like:  https://github.com/armadillica/flamenco/blob/master/flamenco/manager/application/task_compilers/tiled_blender_render_simple_mix.template to add image nodes to simulate the render result. 

Is there a better way to do this ?
Yes, there is a better way to do this. If your composting process doesn't require a render, it should be in its own file. You would do whatever rendering you need, save those out to OpenEXR (or some other format) and use an Image Node to read in your image, or sequence of images and run those through your compositing process.

The way that you "skip" rendering is by deleting all "Render Layer" input nodes and all 3D cameras. This causes problems if you need cameras in your scene, which is why your composting should be in another Blender project.

Alternately, you could put the compositing in another scene in the same Blender file, if that's how you're organizing things.