Grammalecte  Hex Artifact Content

Artifact 7e4c8171e29f0d3271cc385424e2ff91232f7d6b8f44b9cde177e938e7b33003:

  • File gc_lang/fr/setup.py — part of check-in [88c61f02e9] at 2018-07-07 12:38:43 on branch trunk — [server] don’t use locale ini file for grammar options (user: olr size: 4142)

0000: 22 22 22 41 20 73 65 74 75 70 74 6f 6f 6c 73 20  """A setuptools 
0010: 62 61 73 65 64 20 73 65 74 75 70 20 6d 6f 64 75  based setup modu
0020: 6c 65 2e 0a 53 65 65 3a 0a 68 74 74 70 73 3a 2f  le..See:.https:/
0030: 2f 70 61 63 6b 61 67 69 6e 67 2e 70 79 74 68 6f  /packaging.pytho
0040: 6e 2e 6f 72 67 2f 65 6e 2f 6c 61 74 65 73 74 2f  n.org/en/latest/
0050: 64 69 73 74 72 69 62 75 74 69 6e 67 2e 68 74 6d  distributing.htm
0060: 6c 0a 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62  l.https://github
0070: 2e 63 6f 6d 2f 70 79 70 61 2f 73 61 6d 70 6c 65  .com/pypa/sample
0080: 70 72 6f 6a 65 63 74 0a 22 22 22 0a 0a 23 20 41  project."""..# A
0090: 6c 77 61 79 73 20 70 72 65 66 65 72 20 73 65 74  lways prefer set
00a0: 75 70 74 6f 6f 6c 73 20 6f 76 65 72 20 64 69 73  uptools over dis
00b0: 74 75 74 69 6c 73 0a 66 72 6f 6d 20 73 65 74 75  tutils.from setu
00c0: 70 74 6f 6f 6c 73 20 69 6d 70 6f 72 74 20 73 65  ptools import se
00d0: 74 75 70 2c 20 66 69 6e 64 5f 70 61 63 6b 61 67  tup, find_packag
00e0: 65 73 0a 0a 0a 23 20 47 65 74 20 74 68 65 20 6c  es...# Get the l
00f0: 6f 6e 67 20 64 65 73 63 72 69 70 74 69 6f 6e 20  ong description 
0100: 66 72 6f 6d 20 74 68 65 20 52 45 41 44 4d 45 20  from the README 
0110: 66 69 6c 65 0a 23 20 66 72 6f 6d 20 6f 73 20 69  file.# from os i
0120: 6d 70 6f 72 74 20 70 61 74 68 0a 23 20 68 65 72  mport path.# her
0130: 65 20 3d 20 70 61 74 68 2e 61 62 73 70 61 74 68  e = path.abspath
0140: 28 70 61 74 68 2e 64 69 72 6e 61 6d 65 28 5f 5f  (path.dirname(__
0150: 66 69 6c 65 5f 5f 29 29 0a 23 20 77 69 74 68 20  file__)).# with 
0160: 6f 70 65 6e 28 70 61 74 68 2e 6a 6f 69 6e 28 68  open(path.join(h
0170: 65 72 65 2c 20 27 52 45 41 44 4d 45 2e 74 78 74  ere, 'README.txt
0180: 27 29 2c 20 65 6e 63 6f 64 69 6e 67 3d 27 75 74  '), encoding='ut
0190: 66 2d 38 27 29 20 61 73 20 66 3a 0a 23 20 20 20  f-8') as f:.#   
01a0: 20 20 6c 6f 6e 67 5f 64 65 73 63 72 69 70 74 69    long_descripti
01b0: 6f 6e 20 3d 20 66 2e 72 65 61 64 28 29 0a 0a 73  on = f.read()..s
01c0: 65 74 75 70 28 0a 20 20 20 20 6e 61 6d 65 3d 27  etup(.    name='
01d0: 47 72 61 6d 6d 61 6c 65 63 74 65 2d 66 72 27 2c  Grammalecte-fr',
01e0: 0a 0a 20 20 20 20 23 20 56 65 72 73 69 6f 6e 73  ..    # Versions
01f0: 20 73 68 6f 75 6c 64 20 63 6f 6d 70 6c 79 20 77   should comply w
0200: 69 74 68 20 50 45 50 34 34 30 2e 20 20 46 6f 72  ith PEP440.  For
0210: 20 61 20 64 69 73 63 75 73 73 69 6f 6e 20 6f 6e   a discussion on
0220: 20 73 69 6e 67 6c 65 2d 73 6f 75 72 63 69 6e 67   single-sourcing
0230: 0a 20 20 20 20 23 20 74 68 65 20 76 65 72 73 69  .    # the versi
0240: 6f 6e 20 61 63 72 6f 73 73 20 73 65 74 75 70 2e  on across setup.
0250: 70 79 20 61 6e 64 20 74 68 65 20 70 72 6f 6a 65  py and the proje
0260: 63 74 20 63 6f 64 65 2c 20 73 65 65 0a 20 20 20  ct code, see.   
0270: 20 23 20 68 74 74 70 73 3a 2f 2f 70 61 63 6b 61   # https://packa
0280: 67 69 6e 67 2e 70 79 74 68 6f 6e 2e 6f 72 67 2f  ging.python.org/
0290: 65 6e 2f 6c 61 74 65 73 74 2f 73 69 6e 67 6c 65  en/latest/single
02a0: 5f 73 6f 75 72 63 65 5f 76 65 72 73 69 6f 6e 2e  _source_version.
02b0: 68 74 6d 6c 0a 20 20 20 20 76 65 72 73 69 6f 6e  html.    version
02c0: 3d 27 24 7b 76 65 72 73 69 6f 6e 7d 27 2c 0a 0a  ='${version}',..
02d0: 20 20 20 20 64 65 73 63 72 69 70 74 69 6f 6e 3d      description=
02e0: 27 46 72 65 6e 63 68 20 67 72 61 6d 6d 61 72 20  'French grammar 
02f0: 63 68 65 63 6b 65 72 27 2c 0a 20 20 20 20 23 6c  checker',.    #l
0300: 6f 6e 67 5f 64 65 73 63 72 69 70 74 69 6f 6e 3d  ong_description=
0310: 6c 6f 6e 67 5f 64 65 73 63 72 69 70 74 69 6f 6e  long_description
0320: 2c 0a 0a 20 20 20 20 23 20 54 68 65 20 70 72 6f  ,..    # The pro
0330: 6a 65 63 74 27 73 20 6d 61 69 6e 20 68 6f 6d 65  ject's main home
0340: 70 61 67 65 2e 0a 20 20 20 20 75 72 6c 3d 27 68  page..    url='h
0350: 74 74 70 3a 2f 2f 67 72 61 6d 6d 61 6c 65 63 74  ttp://grammalect
0360: 65 2e 6e 65 74 27 2c 0a 0a 20 20 20 20 23 20 41  e.net',..    # A
0370: 75 74 68 6f 72 20 64 65 74 61 69 6c 73 0a 20 20  uthor details.  
0380: 20 20 61 75 74 68 6f 72 3d 27 4f 6c 69 76 69 65    author='Olivie
0390: 72 20 52 2e 27 2c 0a 20 20 20 20 23 61 75 74 68  r R.',.    #auth
03a0: 6f 72 5f 65 6d 61 69 6c 3d 27 66 75 63 6b 6f 66  or_email='fuckof
03b0: 66 2e 6e 6f 72 65 70 6c 79 40 6e 6f 77 68 65 72  f.noreply@nowher
03c0: 65 2e 6e 77 27 2c 0a 0a 20 20 20 20 23 20 43 68  e.nw',..    # Ch
03d0: 6f 6f 73 65 20 79 6f 75 72 20 6c 69 63 65 6e 73  oose your licens
03e0: 65 0a 20 20 20 20 6c 69 63 65 6e 73 65 3d 27 47  e.    license='G
03f0: 50 4c 33 27 2c 0a 0a 20 20 20 20 23 20 53 65 65  PL3',..    # See
0400: 20 68 74 74 70 73 3a 2f 2f 70 79 70 69 2e 70 79   https://pypi.py
0410: 74 68 6f 6e 2e 6f 72 67 2f 70 79 70 69 3f 25 33  thon.org/pypi?%3
0420: 41 61 63 74 69 6f 6e 3d 6c 69 73 74 5f 63 6c 61  Aaction=list_cla
0430: 73 73 69 66 69 65 72 73 0a 20 20 20 20 63 6c 61  ssifiers.    cla
0440: 73 73 69 66 69 65 72 73 3d 5b 0a 20 20 20 20 20  ssifiers=[.     
0450: 20 20 20 23 20 48 6f 77 20 6d 61 74 75 72 65 20     # How mature 
0460: 69 73 20 74 68 69 73 20 70 72 6f 6a 65 63 74 3f  is this project?
0470: 20 43 6f 6d 6d 6f 6e 20 76 61 6c 75 65 73 20 61   Common values a
0480: 72 65 0a 20 20 20 20 20 20 20 20 23 20 20 20 33  re.        #   3
0490: 20 2d 20 41 6c 70 68 61 0a 20 20 20 20 20 20 20   - Alpha.       
04a0: 20 23 20 20 20 34 20 2d 20 42 65 74 61 0a 20 20   #   4 - Beta.  
04b0: 20 20 20 20 20 20 23 20 20 20 35 20 2d 20 50 72        #   5 - Pr
04c0: 6f 64 75 63 74 69 6f 6e 2f 53 74 61 62 6c 65 0a  oduction/Stable.
04d0: 20 20 20 20 20 20 20 20 27 44 65 76 65 6c 6f 70          'Develop
04e0: 6d 65 6e 74 20 53 74 61 74 75 73 20 3a 3a 20 33  ment Status :: 3
04f0: 20 2d 20 41 6c 70 68 61 27 2c 0a 0a 20 20 20 20   - Alpha',..    
0500: 20 20 20 20 23 20 49 6e 64 69 63 61 74 65 20 77      # Indicate w
0510: 68 6f 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 20  ho your project 
0520: 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 0a  is intended for.
0530: 20 20 20 20 20 20 20 20 27 49 6e 74 65 6e 64 65          'Intende
0540: 64 20 41 75 64 69 65 6e 63 65 20 3a 3a 20 44 65  d Audience :: De
0550: 76 65 6c 6f 70 65 72 73 27 2c 0a 20 20 20 20 20  velopers',.     
0560: 20 20 20 27 54 6f 70 69 63 20 3a 3a 20 54 65 78     'Topic :: Tex
0570: 74 20 50 72 6f 63 65 73 73 69 6e 67 20 3a 3a 20  t Processing :: 
0580: 4c 69 6e 67 75 69 73 74 69 63 27 2c 0a 0a 20 20  Linguistic',..  
0590: 20 20 20 20 20 20 23 20 50 69 63 6b 20 79 6f 75        # Pick you
05a0: 72 20 6c 69 63 65 6e 73 65 20 61 73 20 79 6f 75  r license as you
05b0: 20 77 69 73 68 20 28 73 68 6f 75 6c 64 20 6d 61   wish (should ma
05c0: 74 63 68 20 22 6c 69 63 65 6e 73 65 22 20 61 62  tch "license" ab
05d0: 6f 76 65 29 0a 20 20 20 20 20 20 20 20 27 4c 69  ove).        'Li
05e0: 63 65 6e 73 65 20 3a 3a 20 4f 53 49 20 41 70 70  cense :: OSI App
05f0: 72 6f 76 65 64 20 3a 3a 20 47 4e 55 20 47 65 6e  roved :: GNU Gen
0600: 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65  eral Public Lice
0610: 6e 73 65 20 76 33 20 28 47 50 4c 76 33 29 27 2c  nse v3 (GPLv3)',
0620: 0a 0a 20 20 20 20 20 20 20 20 23 20 53 70 65 63  ..        # Spec
0630: 69 66 79 20 74 68 65 20 50 79 74 68 6f 6e 20 76  ify the Python v
0640: 65 72 73 69 6f 6e 73 20 79 6f 75 20 73 75 70 70  ersions you supp
0650: 6f 72 74 20 68 65 72 65 2e 20 49 6e 20 70 61 72  ort here. In par
0660: 74 69 63 75 6c 61 72 2c 20 65 6e 73 75 72 65 0a  ticular, ensure.
0670: 20 20 20 20 20 20 20 20 23 20 74 68 61 74 20 79          # that y
0680: 6f 75 20 69 6e 64 69 63 61 74 65 20 77 68 65 74  ou indicate whet
0690: 68 65 72 20 79 6f 75 20 73 75 70 70 6f 72 74 20  her you support 
06a0: 50 79 74 68 6f 6e 20 32 2c 20 50 79 74 68 6f 6e  Python 2, Python
06b0: 20 33 20 6f 72 20 62 6f 74 68 2e 0a 20 20 20 20   3 or both..    
06c0: 20 20 20 20 27 50 72 6f 67 72 61 6d 6d 69 6e 67      'Programming
06d0: 20 4c 61 6e 67 75 61 67 65 20 3a 3a 20 50 79 74   Language :: Pyt
06e0: 68 6f 6e 20 3a 3a 20 33 2e 33 27 2c 0a 20 20 20  hon :: 3.3',.   
06f0: 20 20 20 20 20 27 50 72 6f 67 72 61 6d 6d 69 6e       'Programmin
0700: 67 20 4c 61 6e 67 75 61 67 65 20 3a 3a 20 50 79  g Language :: Py
0710: 74 68 6f 6e 20 3a 3a 20 33 2e 34 27 2c 0a 20 20  thon :: 3.4',.  
0720: 20 20 20 20 20 20 27 50 72 6f 67 72 61 6d 6d 69        'Programmi
0730: 6e 67 20 4c 61 6e 67 75 61 67 65 20 3a 3a 20 50  ng Language :: P
0740: 79 74 68 6f 6e 20 3a 3a 20 33 2e 35 27 2c 0a 20  ython :: 3.5',. 
0750: 20 20 20 20 20 20 20 27 50 72 6f 67 72 61 6d 6d         'Programm
0760: 69 6e 67 20 4c 61 6e 67 75 61 67 65 20 3a 3a 20  ing Language :: 
0770: 50 79 74 68 6f 6e 20 3a 3a 20 33 2e 36 27 2c 0a  Python :: 3.6',.
0780: 20 20 20 20 5d 2c 0a 0a 20 20 20 20 23 20 57 68      ],..    # Wh
0790: 61 74 20 64 6f 65 73 20 79 6f 75 72 20 70 72 6f  at does your pro
07a0: 6a 65 63 74 20 72 65 6c 61 74 65 20 74 6f 3f 0a  ject relate to?.
07b0: 20 20 20 20 6b 65 79 77 6f 72 64 73 3d 27 46 72      keywords='Fr
07c0: 65 6e 63 68 20 67 72 61 6d 6d 61 72 20 63 68 65  ench grammar che
07d0: 63 6b 65 72 20 63 6f 72 72 65 63 74 65 75 72 20  cker correcteur 
07e0: 67 72 61 6d 6d 61 74 69 63 61 6c 20 66 72 61 6e  grammatical fran
07f0: c3 a7 61 69 73 27 2c 0a 0a 20 20 20 20 23 20 53  ..ais',..    # S
0800: 63 72 69 70 74 73 0a 20 20 20 20 73 63 72 69 70  cripts.    scrip
0810: 74 73 3d 5b 27 67 72 61 6d 6d 61 6c 65 63 74 65  ts=['grammalecte
0820: 2d 63 6c 69 2e 70 79 27 2c 20 27 67 72 61 6d 6d  -cli.py', 'gramm
0830: 61 6c 65 63 74 65 2d 73 65 72 76 65 72 2e 70 79  alecte-server.py
0840: 27 5d 2c 0a 0a 20 20 20 20 23 20 59 6f 75 20 63  '],..    # You c
0850: 61 6e 20 6a 75 73 74 20 73 70 65 63 69 66 79 20  an just specify 
0860: 74 68 65 20 70 61 63 6b 61 67 65 73 20 6d 61 6e  the packages man
0870: 75 61 6c 6c 79 20 68 65 72 65 20 69 66 20 79 6f  ually here if yo
0880: 75 72 20 70 72 6f 6a 65 63 74 20 69 73 0a 20 20  ur project is.  
0890: 20 20 23 20 73 69 6d 70 6c 65 2e 20 4f 72 20 79    # simple. Or y
08a0: 6f 75 20 63 61 6e 20 75 73 65 20 66 69 6e 64 5f  ou can use find_
08b0: 70 61 63 6b 61 67 65 73 28 29 2e 0a 20 20 20 20  packages()..    
08c0: 23 20 70 61 63 6b 61 67 65 73 3d 66 69 6e 64 5f  # packages=find_
08d0: 70 61 63 6b 61 67 65 73 28 65 78 63 6c 75 64 65  packages(exclude
08e0: 3d 5b 27 63 6f 6e 74 72 69 62 27 2c 20 27 64 6f  =['contrib', 'do
08f0: 63 73 27 2c 20 27 74 65 73 74 73 27 5d 29 2c 0a  cs', 'tests']),.
0900: 20 20 20 20 70 61 63 6b 61 67 65 73 3d 5b 27 67      packages=['g
0910: 72 61 6d 6d 61 6c 65 63 74 65 27 2c 20 27 67 72  rammalecte', 'gr
0920: 61 6d 6d 61 6c 65 63 74 65 2e 67 72 61 70 68 73  ammalecte.graphs
0930: 70 65 6c 6c 27 2c 20 27 67 72 61 6d 6d 61 6c 65  pell', 'grammale
0940: 63 74 65 2e 66 72 27 5d 2c 0a 0a 20 20 20 20 23  cte.fr'],..    #
0950: 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20   Alternatively, 
0960: 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64  if you want to d
0970: 69 73 74 72 69 62 75 74 65 20 6a 75 73 74 20 61  istribute just a
0980: 20 6d 79 5f 6d 6f 64 75 6c 65 2e 70 79 2c 20 75   my_module.py, u
0990: 6e 63 6f 6d 6d 65 6e 74 0a 20 20 20 20 23 20 74  ncomment.    # t
09a0: 68 69 73 3a 0a 20 20 20 20 23 20 20 20 70 79 5f  his:.    #   py_
09b0: 6d 6f 64 75 6c 65 73 3d 5b 22 6d 79 5f 6d 6f 64  modules=["my_mod
09c0: 75 6c 65 22 5d 2c 0a 0a 20 20 20 20 23 20 4c 69  ule"],..    # Li
09d0: 73 74 20 72 75 6e 2d 74 69 6d 65 20 64 65 70 65  st run-time depe
09e0: 6e 64 65 6e 63 69 65 73 20 68 65 72 65 2e 20 20  ndencies here.  
09f0: 54 68 65 73 65 20 77 69 6c 6c 20 62 65 20 69 6e  These will be in
0a00: 73 74 61 6c 6c 65 64 20 62 79 20 70 69 70 20 77  stalled by pip w
0a10: 68 65 6e 0a 20 20 20 20 23 20 79 6f 75 72 20 70  hen.    # your p
0a20: 72 6f 6a 65 63 74 20 69 73 20 69 6e 73 74 61 6c  roject is instal
0a30: 6c 65 64 2e 20 46 6f 72 20 61 6e 20 61 6e 61 6c  led. For an anal
0a40: 79 73 69 73 20 6f 66 20 22 69 6e 73 74 61 6c 6c  ysis of "install
0a50: 5f 72 65 71 75 69 72 65 73 22 20 76 73 20 70 69  _requires" vs pi
0a60: 70 27 73 0a 20 20 20 20 23 20 72 65 71 75 69 72  p's.    # requir
0a70: 65 6d 65 6e 74 73 20 66 69 6c 65 73 20 73 65 65  ements files see
0a80: 3a 0a 20 20 20 20 23 20 68 74 74 70 73 3a 2f 2f  :.    # https://
0a90: 70 61 63 6b 61 67 69 6e 67 2e 70 79 74 68 6f 6e  packaging.python
0aa0: 2e 6f 72 67 2f 65 6e 2f 6c 61 74 65 73 74 2f 72  .org/en/latest/r
0ab0: 65 71 75 69 72 65 6d 65 6e 74 73 2e 68 74 6d 6c  equirements.html
0ac0: 0a 20 20 20 20 23 20 69 6e 73 74 61 6c 6c 5f 72  .    # install_r
0ad0: 65 71 75 69 72 65 73 3d 5b 27 70 65 70 70 65 72  equires=['pepper
0ae0: 63 6f 72 6e 27 5d 2c 0a 0a 20 20 20 20 23 20 4c  corn'],..    # L
0af0: 69 73 74 20 61 64 64 69 74 69 6f 6e 61 6c 20 67  ist additional g
0b00: 72 6f 75 70 73 20 6f 66 20 64 65 70 65 6e 64 65  roups of depende
0b10: 6e 63 69 65 73 20 68 65 72 65 20 28 65 2e 67 2e  ncies here (e.g.
0b20: 20 64 65 76 65 6c 6f 70 6d 65 6e 74 0a 20 20 20   development.   
0b30: 20 23 20 64 65 70 65 6e 64 65 6e 63 69 65 73 29   # dependencies)
0b40: 2e 20 59 6f 75 20 63 61 6e 20 69 6e 73 74 61 6c  . You can instal
0b50: 6c 20 74 68 65 73 65 20 75 73 69 6e 67 20 74 68  l these using th
0b60: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 79 6e 74  e following synt
0b70: 61 78 2c 0a 20 20 20 20 23 20 66 6f 72 20 65 78  ax,.    # for ex
0b80: 61 6d 70 6c 65 3a 0a 20 20 20 20 23 20 24 20 70  ample:.    # $ p
0b90: 69 70 20 69 6e 73 74 61 6c 6c 20 2d 65 20 2e 5b  ip install -e .[
0ba0: 64 65 76 2c 74 65 73 74 5d 0a 20 20 20 20 23 20  dev,test].    # 
0bb0: 65 78 74 72 61 73 5f 72 65 71 75 69 72 65 3d 7b  extras_require={
0bc0: 0a 20 20 20 20 23 20 20 20 20 20 27 64 65 76 27  .    #     'dev'
0bd0: 3a 20 5b 27 63 68 65 63 6b 2d 6d 61 6e 69 66 65  : ['check-manife
0be0: 73 74 27 5d 2c 0a 20 20 20 20 23 20 20 20 20 20  st'],.    #     
0bf0: 27 74 65 73 74 27 3a 20 5b 27 63 6f 76 65 72 61  'test': ['covera
0c00: 67 65 27 5d 2c 0a 20 20 20 20 23 20 7d 2c 0a 0a  ge'],.    # },..
0c10: 20 20 20 20 23 20 49 66 20 74 68 65 72 65 20 61      # If there a
0c20: 72 65 20 64 61 74 61 20 66 69 6c 65 73 20 69 6e  re data files in
0c30: 63 6c 75 64 65 64 20 69 6e 20 79 6f 75 72 20 70  cluded in your p
0c40: 61 63 6b 61 67 65 73 20 74 68 61 74 20 6e 65 65  ackages that nee
0c50: 64 20 74 6f 20 62 65 0a 20 20 20 20 23 20 69 6e  d to be.    # in
0c60: 73 74 61 6c 6c 65 64 2c 20 73 70 65 63 69 66 79  stalled, specify
0c70: 20 74 68 65 6d 20 68 65 72 65 2e 20 20 49 66 20   them here.  If 
0c80: 75 73 69 6e 67 20 50 79 74 68 6f 6e 20 32 2e 36  using Python 2.6
0c90: 20 6f 72 20 6c 65 73 73 2c 20 74 68 65 6e 20 74   or less, then t
0ca0: 68 65 73 65 0a 20 20 20 20 23 20 68 61 76 65 20  hese.    # have 
0cb0: 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69  to be included i
0cc0: 6e 20 4d 41 4e 49 46 45 53 54 2e 69 6e 20 61 73  n MANIFEST.in as
0cd0: 20 77 65 6c 6c 2e 0a 20 20 20 20 70 61 63 6b 61   well..    packa
0ce0: 67 65 5f 64 61 74 61 3d 7b 0a 20 20 20 20 20 20  ge_data={.      
0cf0: 20 20 27 67 72 61 6d 6d 61 6c 65 63 74 65 27 3a    'grammalecte':
0d00: 20 5b 27 67 72 61 70 68 73 70 65 6c 6c 2f 5f 64   ['graphspell/_d
0d10: 69 63 74 69 6f 6e 61 72 69 65 73 2f 2a 2e 62 64  ictionaries/*.bd
0d20: 69 63 27 2c 20 27 2a 2e 74 78 74 27 5d 0a 20 20  ic', '*.txt'].  
0d30: 20 20 7d 2c 0a 0a 20 20 20 20 23 20 41 6c 74 68    },..    # Alth
0d40: 6f 75 67 68 20 27 70 61 63 6b 61 67 65 5f 64 61  ough 'package_da
0d50: 74 61 27 20 69 73 20 74 68 65 20 70 72 65 66 65  ta' is the prefe
0d60: 72 72 65 64 20 61 70 70 72 6f 61 63 68 2c 20 69  rred approach, i
0d70: 6e 20 73 6f 6d 65 20 63 61 73 65 20 79 6f 75 20  n some case you 
0d80: 6d 61 79 0a 20 20 20 20 23 20 6e 65 65 64 20 74  may.    # need t
0d90: 6f 20 70 6c 61 63 65 20 64 61 74 61 20 66 69 6c  o place data fil
0da0: 65 73 20 6f 75 74 73 69 64 65 20 6f 66 20 79 6f  es outside of yo
0db0: 75 72 20 70 61 63 6b 61 67 65 73 2e 20 53 65 65  ur packages. See
0dc0: 3a 0a 20 20 20 20 23 20 68 74 74 70 3a 2f 2f 64  :.    # http://d
0dd0: 6f 63 73 2e 70 79 74 68 6f 6e 2e 6f 72 67 2f 33  ocs.python.org/3
0de0: 2e 34 2f 64 69 73 74 75 74 69 6c 73 2f 73 65 74  .4/distutils/set
0df0: 75 70 73 63 72 69 70 74 2e 68 74 6d 6c 23 69 6e  upscript.html#in
0e00: 73 74 61 6c 6c 69 6e 67 2d 61 64 64 69 74 69 6f  stalling-additio
0e10: 6e 61 6c 2d 66 69 6c 65 73 20 23 20 6e 6f 71 61  nal-files # noqa
0e20: 0a 20 20 20 20 23 20 49 6e 20 74 68 69 73 20 63  .    # In this c
0e30: 61 73 65 2c 20 27 64 61 74 61 5f 66 69 6c 65 27  ase, 'data_file'
0e40: 20 77 69 6c 6c 20 62 65 20 69 6e 73 74 61 6c 6c   will be install
0e50: 65 64 20 69 6e 74 6f 20 27 3c 73 79 73 2e 70 72  ed into '<sys.pr
0e60: 65 66 69 78 3e 2f 6d 79 5f 64 61 74 61 27 0a 20  efix>/my_data'. 
0e70: 20 20 20 23 20 64 61 74 61 5f 66 69 6c 65 73 3d     # data_files=
0e80: 5b 28 27 6d 79 5f 64 61 74 61 27 2c 20 5b 27 64  [('my_data', ['d
0e90: 61 74 61 2f 64 61 74 61 5f 66 69 6c 65 27 5d 29  ata/data_file'])
0ea0: 5d 2c 0a 20 20 20 20 23 64 61 74 61 5f 66 69 6c  ],.    #data_fil
0eb0: 65 73 3d 5b 28 27 27 2c 20 5b 27 67 72 61 6d 6d  es=[('', ['gramm
0ec0: 61 6c 65 63 74 65 2d 63 6c 69 2e 70 79 27 5d 29  alecte-cli.py'])
0ed0: 5d 2c 0a 0a 20 20 20 20 23 20 54 6f 20 70 72 6f  ],..    # To pro
0ee0: 76 69 64 65 20 65 78 65 63 75 74 61 62 6c 65 20  vide executable 
0ef0: 73 63 72 69 70 74 73 2c 20 75 73 65 20 65 6e 74  scripts, use ent
0f00: 72 79 20 70 6f 69 6e 74 73 20 69 6e 20 70 72 65  ry points in pre
0f10: 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 0a 20  ference to the. 
0f20: 20 20 20 23 20 22 73 63 72 69 70 74 73 22 20 6b     # "scripts" k
0f30: 65 79 77 6f 72 64 2e 20 45 6e 74 72 79 20 70 6f  eyword. Entry po
0f40: 69 6e 74 73 20 70 72 6f 76 69 64 65 20 63 72 6f  ints provide cro
0f50: 73 73 2d 70 6c 61 74 66 6f 72 6d 20 73 75 70 70  ss-platform supp
0f60: 6f 72 74 20 61 6e 64 20 61 6c 6c 6f 77 0a 20 20  ort and allow.  
0f70: 20 20 23 20 70 69 70 20 74 6f 20 63 72 65 61 74    # pip to creat
0f80: 65 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74  e the appropriat
0f90: 65 20 66 6f 72 6d 20 6f 66 20 65 78 65 63 75 74  e form of execut
0fa0: 61 62 6c 65 20 66 6f 72 20 74 68 65 20 74 61 72  able for the tar
0fb0: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 0a 20 20  get platform..  
0fc0: 20 20 23 20 65 6e 74 72 79 5f 70 6f 69 6e 74 73    # entry_points
0fd0: 3d 7b 0a 20 20 20 20 23 20 20 20 20 20 27 63 6f  ={.    #     'co
0fe0: 6e 73 6f 6c 65 5f 73 63 72 69 70 74 73 27 3a 20  nsole_scripts': 
0ff0: 5b 0a 20 20 20 20 23 20 20 20 20 20 20 20 20 20  [.    #         
1000: 27 73 61 6d 70 6c 65 3d 73 61 6d 70 6c 65 3a 6d  'sample=sample:m
1010: 61 69 6e 27 2c 0a 20 20 20 20 23 20 20 20 20 20  ain',.    #     
1020: 5d 2c 0a 20 20 20 20 23 20 7d 2c 0a 29 0a        ],.    # },.).