Giter VIP home page Giter VIP logo

panda-client's Introduction

How to install

Download the code

git clone https://github.com/PanDAWMS/panda-client.git
cd panda-client

and install it

python setup.py install --prefix=/path/to/install/dir

or create the tar ball

python setup.py sdist
pip install dist/panda-client-*.tar.gz

How to use

source /path/to/install/dir/etc/panda/panda_setup.[c]sh
prun -h
pathena -h

Release Notes

See ChangeLog.txt

CVMFS deployment

  1. Leave the tar ball under: /afs/cern.ch/user/a/atlpan/www/panda-client. The web https://atlpan.web.cern.ch/atlpan/panda-client/ publishes the afs directory.
  2. Update the release notes: https://twiki.cern.ch/twiki/bin/view/PanDA/PandaTools
  3. Request atlas-adc-tier3sw-install to copy on CVMFS

Uploading to pip

python setup.py sdist upload

Uploading source so that wheel generates setup files locally.

Acknowledge

Icons from http://iconka.com

panda-client's People

Contributors

chnzhangrui avatar fbarreir avatar matthewfeickert avatar mightqxc avatar retmas-dv avatar romainbqt avatar ruslan33 avatar tmaeno avatar virthead avatar yesw2000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

panda-client's Issues

secondaryDS containing colon breaks

With rucio scoping patterns scope:datasetname using such a dataset as a secondary dataset seems to break since prun splits on ':'

I craeted this test

prun --exec "echo %IN; echo %HELLO; find ." --inDS user.lheinric:multiDStest1 --secondaryDS HELLO:1:user.lheinric:multiDStest1.secondary --outDS user.lheinric:multiDStest.out.v2 --forceStaged --site ANALY_MANC_GPU_TEST --noBuild

https://bigpanda.cern.ch/task/16164344/

archiveWithCpack depends on order of environment variable values

In this line

https://github.com/PanDAWMS/panda-client/blob/master/pandatools/AthenaUtils.py#L1062

buildDir = os.path.dirname(buildDir.split(':')[0])

exactly value [0] is taken as the buildDir. CMAKE_PREFIX_PATH is a variable that some users modify and this is very risky. In particular as it leads to very inscrutable behaviour when used within prun. Isn't there a better way of determining the user's build directory?

I only found this issue after many hours of debugging. I started from grid jobs that failed with the error

TBufferFile::ReadObject   ERROR   trying to read an emulated class (AnalysisBase_VHbb) to store in a compiled pointer (EL::Algorithm)

Simplify the cpack options in AthenaUtils.archiveWithCpack

Since there was only a limited reaction on the corresponding ATLAS e-mail thread, I thought it would be better to open an issue here.

The following way of calling CPack is way "over engineered". ๐Ÿ˜ฆ

https://github.com/PanDAWMS/panda-client/blob/master/pandaclient/AthenaUtils.py#L1067-L1070

Most of the -D arguments are unnecessary in there. But there is one that is actively disruptive: -D CPACK_INSTALL_CMAKE_PROJECTS="" That one explicitly tells CPack not to install anything.

With the way that AtlasCMake has operated for years, this option was simply ignored. But now that I'm trying to make the ATLAS builds behave in a "more standard" way, this flag prevents prun from collecting the code of the users that they are trying to execute a job with.

Please remove that argument from the CPack call. It was not needed with old ATLAS analysis releases either, and is now actively hurtful with the latest ones.

Release panda-client on PyPi

Hi @tmaeno ,

I see that the panda-client is already equipped with a setup.py file. Can we just push the release to PyPi so that we can do

pip install panda-client

The only thing you would need to do is make a PyPI account and

python setup.py sdist upload

Best,
Lukas

Use setuptools over deprecated distutils

As noted in PR #20:

In the sdist creation phase of the build there is currently the warning:

$ python setup.py sdist
/home/runner/work/panda-client/panda-client/setup.py:6: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  import distutils
...

The use of distutils in setup.py

panda-client/setup.py

Lines 1 to 16 in 3c2aee0

# set PYTHONPATH to use the current directory first
import sys
import os
import re
import site
import distutils
sys.path.insert(0,'.')
# get release version
from pandaclient import PandaToolsPkgInfo
release_version = PandaToolsPkgInfo.release_version
from setuptools import setup
from setuptools.command.install import install as install_org
from distutils.command.install_data import install_data as install_data_org

panda-client/setup.py

Lines 26 to 33 in 3c2aee0

# generates files using templates and install them
class install_data_panda (install_data_org):
def initialize_options (self):
install_data_org.initialize_options (self)
self.prefix = None
self.root = None
self.install_purelib = None
self.install_scripts = None

self.install_purelib = distutils.sysconfig.get_python_lib()

should be replaced with setuptools commands.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.