Skip to main content

dxpy: DNAnexus Python API

DNAnexus Documentation

dxpy API Documentation

Building

From the dx-toolkit root directory:

python3 -m pip install -e src/python

Debugging

Set the _DX_DEBUG environment variable to a positive integer before running a dxpy-based program (such as dx) to display the input and output of each API call. Supported values are 1, 2, and 3 with increasing numbers producing successively more verbose output.

Example:

$ _DX_DEBUG=1 dx ls

Debugging inside the IDE (PyCharm)

To be able to debug dx-toolkit (dx commands) directly in the IDE, 'Run/Debug Configurations' needs to be changed.

  1. Go to Run → Edit Configurations...
  2. Add New Configuration (Python)
  3. Change script to module (dxpy.scripts.dx)
  4. To Script parameters field write dx command you want to run (eg 'ls' runs 'dx ls')
  5. Apply and OK (now it is possible to start debugging via main() function in dx.py)

Python coding style

  • Conform to PEP-8.
    • Relax the line length requirement to 120 characters per line, where you judge readability not to be compromised.
    • Relax other PEP-8 requirements at your discretion if it simplifies code or is needed to follow conventions established elsewhere at DNAnexus.
  • Document your code in a format usable by Sphinx Autodoc.
  • Run pylint -E on your code before checking it in.
  • Do not introduce module import-time side effects.
    • Do not add module-level attributes into the API unless you are absolutely certain they will remain constants. For example, do not declare an attribute dxpy.foo (dxpy._foo is OK), or any other non-private variable in the global scope of any module. This is because unless the value is a constant, it may need to be updated by an initialization method, which may need to run lazily to avoid side effects at module load time. Instead, use accessor methods that can perform the updates at call time:

      _foo = None
      
      def get_foo():
          initialize()
          return _foo
      

Other useful resources:

Python version compatibility

dxpy is supported on Python 3 (3.8+)

Convention for Python scripts that are also modules

Some scripts, such as format converters, are useful both as standalone executables and as importable modules.

We have the following convention for these scripts:

  • Install the script into src/python/dxpy/scripts with a name like dx_useful_script.py. This will allow importing with import dxpy.scripts.dx_useful_script.

  • Include in the script a top-level function called main(), which should be the entry point processor, and conclude the script with the following stanza:

    if __name__ == '__main__':
        main()
    
  • The dxpy installation process (invoked through setup.py or with make -C src python at the top level) will find the script and install a launcher for it into the executable path automatically. This is done using the entry_points facility of setuptools/distribute.

    • Note: the install script will replace underscores in the name of your module with dashes in the name of the launcher script.
  • Typically, when called on the command line, main() will first parse the command line arguments (sys.argv). However, when imported as a module, the arguments need to instead be passed as inputs to a function. The following is a suggestion for how to accommodate both styles simultaneously with just one entry point (main):

    def main(**kwargs):
        if len(kwargs) == 0:
            kwargs = vars(arg_parser.parse_args(sys.argv[1:]))
        ...
    
    if __name__ == '__main__':
        main()
    

Release files for dxpy 0.414.0

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

Source distribution (sdist)

Source distribution for dxpy 0.414.0
File Size Uploaded
dxpy-0.414.0.tar.gz 646.4 kB Details

Release files / dxpy-0.414.0.tar.gz

Download URL dxpy-0.414.0.tar.gz
Size 646.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0f8c502a0087d91c4f616dcbfffdc5116ea4b7699e7297b5cb152540f63266b9
BLAKE2b-256 checksum
How to use checksums
d710d38552dc28cf53c28b3a07bdd4936ea78a65a420c969e8caa60b52b66cae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

0.415.0

1 release file

This release

0.414.0 This release

1 release file

0.411.0

1 release file

0.410.0

1 release file

0.409.0

1 release file

0.408.2

1 release file

0.407.0

1 release file

0.406.0

1 release file

0.405.0

1 release file

0.403.0

1 release file

0.402.0

1 release file

0.398.0

1 release file

0.395.0

1 release file

0.394.0

1 release file

0.393.0

1 release file

0.392.0

1 release file

0.390.0

1 release file

0.389.0

1 release file

0.388.0

1 release file

0.387.0

1 release file

0.384.0

1 release file

0.383.1

1 release file

0.381.0

1 release file

0.380.0

1 release file

0.378.0

1 release file

0.377.0

1 release file

0.376.0

1 release file

0.375.1

1 release file

0.374.0

1 release file

0.373.0

1 release file

0.372.0

1 release file

0.371.0

1 release file

0.370.2

1 release file

0.369.1

1 release file

0.368.1

1 release file

0.367.0

1 release file

0.365.0

1 release file

0.364.0

1 release file

0.362.0

1 release file

0.361.0

1 release file

0.359.1

1 release file

0.359.0

1 release file

0.358.0

1 release file

0.357.0

1 release file

0.355.0

1 release file

0.353.1

1 release file

0.352.1

1 release file

0.350.1

1 release file

0.349.1

1 release file

0.347.0

1 release file

0.346.0

1 release file

0.345.0

1 release file

0.343.0

1 release file

0.340.1

1 release file

0.339.0

1 release file

0.338.1

1 release file

0.337.0

1 release file

0.335.0

1 release file

0.333.0

1 release file

0.331.0

1 release file

0.329.0

1 release file

0.327.1

1 release file

0.325.1

1 release file

0.324.1

1 release file

0.323.0

1 release file

0.321.0

1 release file

0.319.2

1 release file

0.316.0

1 release file

0.315.0

1 release file

0.314.0

1 release file

0.313.0

1 release file

0.311.0

1 release file

0.310.0

1 release file

0.309.0

1 release file

0.308.0

1 release file

0.307.0

1 release file

0.306.0

1 release file

0.305.0

1 release file

0.303.1

1 release file

0.302.1

1 release file

0.301.1

1 release file

0.300.1

1 release file

0.299.0

1 release file

0.298.1

1 release file

0.297.1

1 release file

0.295.1

1 release file

0.294.0

1 release file

0.293.0

1 release file

0.292.0

1 release file

0.291.1

1 release file

0.289.1

1 release file

0.286.1

1 release file

0.285.0

1 release file

0.284.0

1 release file

0.283.0

1 release file

0.282.0

1 release file

0.280.0

1 release file

0.279.0

1 release file

0.278.0

1 release file

0.277.0

1 release file

0.276.0

1 release file

0.273.0

1 release file

0.272.0

1 release file

0.271.0

1 release file

0.268.2

1 release file

0.267.1

1 release file

0.267.0

1 release file

0.266.1

1 release file

0.265.0

1 release file

0.262.0

1 release file

0.261.1

1 release file

0.260.0

1 release file

0.257.3

1 release file

0.257.2

1 release file

0.255.0

1 release file

0.254.0

1 release file

0.252.0

1 release file

0.251.2

1 release file

0.250.3

1 release file

0.250.2

1 release file

0.250.1

1 release file

0.248.0

1 release file

0.247.0

1 release file

0.246.0

1 release file

0.245.0

1 release file

0.242.0

1 release file

0.240.1

1 release file

0.225.0

1 release file

0.224.0

1 release file

0.222.0

1 release file

0.221.0

1 release file

0.220.0

1 release file

0.219.0

1 release file

0.218.0

1 release file

0.217.0

1 release file

0.215.0

1 release file

0.214.1

1 release file

0.213.1

1 release file

0.188.3

1 release file

0.187.1

1 release file

0.184.1

1 release file

0.183.2

1 release file

0.181.0

1 release file

0.179.0

1 release file

0.177.4

1 release file

0.176.1

1 release file

0.175.1

1 release file

0.174.0

1 release file

0.173.0

1 release file

0.171.1

1 release file

0.170.1

1 release file

0.169.1

1 release file

0.167.0

1 release file

0.166.1

1 release file

0.165.4

1 release file

0.164.4

1 release file

0.162.1

1 release file

0.161.0

1 release file

0.160.0

1 release file

0.158.1

1 release file

0.157.1

1 release file

0.157.0

1 release file

0.156.2

1 release file

0.154.0

1 release file

0.153.0

1 release file

0.152.0

1 release file

0.150.2

1 release file

0.149.1

1 release file

0.148.0

1 release file

0.146.2

1 release file

0.145.1

1 release file

0.144.0

1 release file

0.142.0

1 release file

0.141.1

1 release file

0.140.0

1 release file

0.137.2

1 release file

0.136.1

1 release file

0.135.3

1 release file

0.133.0

1 release file

0.132.0

1 release file

0.131.0

1 release file

0.129.0

1 release file

0.124.1

1 release file

0.123.3

1 release file

0.123.2

1 release file

0.121.1

1 release file

0.120.0

1 release file

0.119.0

1 release file

0.116.1

1 release file

0.115.2

1 release file

0.112.1

1 release file

0.111.3

1 release file

0.110.1

1 release file

0.108.2

1 release file

0.107.1

1 release file

0.106.1

1 release file

0.103.2

1 release file

0.102.1

1 release file

0.101.2

1 release file

0.101.1

1 release file

0.99.1

1 release file

0.99.0

1 release file

0.98.3

1 release file

0.97.1

1 release file

0.96.1

1 release file

0.95.1

1 release file

0.94.2

1 release file

0.93.1

1 release file

0.92.1

1 release file

0.91.0

1 release file

0.90.0

1 release file

0.89.1

1 release file

0.88.0

1 release file

0.87.1

1 release file

0.86.1

1 release file

0.85.0

1 release file

0.84.1

1 release file

v0.82.1

1 release file

v0.81.1

1 release file

v0.79.3

1 release file

v0.78.2

1 release file

v0.76.0

1 release file

v0.75.1

1 release file

v0.73.3

1 release file

v0.72.0

1 release file

v0.71.0

1 release file

v0.68.1

1 release file

v0.67.2

1 release file

v0.66.3

1 release file

v0.66.2

1 release file

v0.64.3

1 release file

v0.63.3

1 release file

v0.63.2

1 release file

v0.62.3

1 release file

v0.62.2

1 release file

v0.60.1

1 release file

v0.59.4

v0.58.4

1 release file

v0.58.2

1 release file

v0.58.1

1 release file

v0.57.1

1 release file

v0.55.7

1 release file

v0.55.6

1 release file

v0.55.5

1 release file

v0.55.4

1 release file

v0.54.3

1 release file

v0.54.2

1 release file

v0.54.1

1 release file

v0.54.0

1 release file

v0.53.0

1 release file

v0.51.2

1 release file

v0.51.1

1 release file

v0.50.1

1 release file

v0.49.1

1 release file

v0.48.3

1 release file

v0.47.4

1 release file

v0.47.3

1 release file

v0.46.2

1 release file

v0.45.1

1 release file

v0.44.4

1 release file

v0.42.1

1 release file

v0.41.2

1 release file

v0.38.1

1 release file

v0.35.4

1 release file

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