Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F7450738
README.md
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
README.md
View Options
Software
Heritage
Python
development
environment
================================================
This
repository
contains
the
scaffolding
to
initialize
and
keep
a
local
development
environment
for
the
Software
Heritage
Python
stack
.
In
particular
,
it
contains
pointers
to
the
Git
repositories
of
all
Software
Heritage
Python
modules
.
The
repositories
are
managed
using
[
myrepos
][
1
]
(
see
the
.
mrconfig
file
),
and
the
`
mr
`
command
.
[
1
]:
http
:
//myrepos.branchable.com/
The
provided
mr
config
will
also
install
a
[
pre
-
commit
][
2
]
hook
in
cloned
repositories
,
so
the
`
pre
-
commit
`
tool
must
be
available
as
well
.
[
2
]:
https
:
//pre-commit.com/
In
Debian
,
the
"mr"
command
is
shipped
in
the
"mr"
package
.
Unfortunately
,
"pre-commit"
itself
is
not
available
in
Debian
for
now
.
However
,
we
strongly
suggest
you
use
a
[
virtualenv
][
3
]
to
manage
your
SWH
development
environment
.
You
can
create
it
using
virtualenv
,
or
you
can
use
a
virtualenv
wrapper
tool
like
[
virtualenvwrapper
][
4
]
or
[
pipenv
][
5
]
(
or
any
other
similar
tool
).
In
Debian
,
both
these
tools
are
available
as
"virtualenvwrapper"
and
"pipenv"
.
[
3
]:
https
:
//virtualenv.pypa.io/
[
4
]:
https
:
//virtualenvwrapper.readthedocs.io/
[
5
]:
https
:
//pipenv.readthedocs.io/
In
the
example
below
we
are
using
virtualenv
directly
:
```
lang
=
shell
git
clone
https
:
//forge.softwareheritage.org/source/swh-environment.git
cd
swh
-
environment
python3
-
m
venv
.
venv
.
.
venv
/
bin
/
activate
pip
install
pre
-
commit
```
then
you
can
use
the
following
helper
for
both
initial
code
checkout
and
subsequent
updates
:
```
lang
=
shell
bin
/
update
```
Note
that
the
first
time
you
run
`
bin
/
update
`
it
will
add
the
`
swh
-
environment
/.
mrconfig
`
file
to
your
`
~/.
mrtrust
`
(
we
use
this
to
be
able
to
setup
pre
-
commit
hooks
upon
repository
checkouts
)
and
install
"pre-commit"
as
git
precommit
hook
in
each
git
repository
.
See
`
MR
(
1
)
`
for
more
information
about
trusted
`
mr
`
repositories
.
You
can
also
checkout
/
update
repositories
by
hand
using
`
mr
up
`
.
See
`
.
mrconfig
`
for
the
actual
list
of
repositories
.
Upgrade
from
makefile
-
based
hooks
---------------------------------
Git
pre
commit
hooks
used
to
be
makefile
-
based
scripts
.
Running
`
mr
update
`
will
automatically
replace
these
by
the
`
pre
-
commit
`
tool
,
Initialize
a
new
Python
package
repository
------------------------------------------
1
.
create
the
remote
Git
repository
on
the
forge
2
.
add
it
to
`
.
mrconfig
`
(
e
.
g
.
using
mr
register
)
3
.
mr
update
this
will
clone
the
(
empty
)
repository
locally
4
.
bin
/
init
-
py
-
repo
REPO_NAME
this
will
fill
the
repository
with
the
template
for
SWH
Python
packages
,
and
make
an
initial
commit
5
.
cd
REPO_NAME
;
git
push
Docker
based
test
environment
-----------------------------
Check
the
README
file
in
the
docker
/
directory
.
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Apr 17, 8:33 AM (4 d, 22 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3284213
Attached To
rDENV Development environment
Event Timeline
Log In to Comment