Result:
found more than 723 distributions - search limited to the first 2001 files matching your query ( run in 3.568 )


Alien-FreeImage

 view release on metacpan or  search on metacpan

src/Source/LibOpenJPEG/INSTALL  view on Meta::CPAN

** To build the JPIP server: '-DBUILD_JPIP_SERVER:bool=on' (default: 'OFF')
* To build the JP3D library and utilities: '-DBUILD_JP3D:bool=on' (default: 'OFF') (experimental)
* To build the Java binding: '-DBUILD_JAVA:bool=on' (default: 'OFF') (experimental).
** to choose which java implementation, you can set your JAVA_HOME env var.
* To build the wxWidgets/C++ viewer: 'BUILD_VIEWER:BOOL=ON' (default OFF) (experimental)
* To enable testing (and automatic result upload to http://my.cdash.org/index.php?project=OPENJPEG):
    cmake . -DBUILD_TESTING:BOOL=ON -DOPJ_DATA_ROOT:PATH='path/to/the/data/directory'
    make
    make Experimental
  Note : JPEG2000 test files are available with 'svn checkout http://openjpeg.googlecode.com/svn/data' (about 70 Mo).
  If '-DOPJ_DATA_ROOT:PATH' option is omitted, test files will be automatically searched in '${CMAKE_SOURCE_DIR}/../data',

 view all matches for this distribution


Alien-GSL

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

  - has platform specific instruction
    - download and compile when possible
    - download precompiled library on MSWindows

0.02 2011-08-01
  - version incremented as upload to PAUSE wasn't complete

0.01 2011-07-31
  - original version

 view all matches for this distribution


Alien-Libgit2

 view release on metacpan or  search on metacpan

.claude/agents/alien-libgit2-worker.md  view on Meta::CPAN


- Do not lower `minimum_version` to make a probe succeed — the floor is the ssh
  hang fix, and a Debian probe failure is the designed outcome.
- Do not add a second tarball to `share/`, and do not add a network `start_url`.
  Offline install is a promise this distribution makes.
- Never run `dzil release` or upload to CPAN. Pre-release audit goes through
  `alien-libgit2-release-checker`.

 view all matches for this distribution


Alien-Libjio

 view release on metacpan or  search on metacpan

dist.ini  view on Meta::CPAN

[Manifest]              ; build MANIFEST file (do this last)

; verify and release the distribution
; XXX: disabled for now - testing would require installation
;[TestRelease]           ; run tests before releasing
[ConfirmRelease]        ; ask to confirm release/upload
[UploadToCPAN]          ; push it to CPAN
[Git::Push]             ; push everything to remote repository

 view all matches for this distribution


Alien-PCRE2

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN


# compare using adiff
$ sudo apt-get install atool colordiff
$ adiff -m -s /tmp/Alien-PCRE2-0.XXXXXX.tar.gz ./backup/Alien-PCRE2-0.YYYYYY.tar.gz | colordiff | less -R

# upload to CPAN
$ cpan-upload -v -u WBRASWELL --dry-run backup/Alien-PCRE2-VERSION.tar.gz
        # ARE YOU SURE YOU WISH TO PROCEED?!?
$ cpan-upload -v -u WBRASWELL backup/Alien-PCRE2-VERSION.tar.gz
```

 view all matches for this distribution


Alien-ROOT

 view release on metacpan or  search on metacpan

inc/inc_Module-Build/Module/Build/Bundling.pod  view on Meta::CPAN

    license => 'perl',
  )->create_build_script;

Authors are strongly suggested to limit the bundling of additional
dependencies if at all possible and to carefully test their distribution
tarballs on older versions of Perl before uploading to CPAN.

=head1 AUTHOR

David Golden <dagolden@cpan.org>

 view all matches for this distribution


Alien-SVN

 view release on metacpan or  search on metacpan

src/subversion/subversion/bindings/ctypes-python/csvn/txn.py  view on Meta::CPAN

                        kind, copyfrom_path=src_path,
                        copyfrom_rev=src_rev)

            # Upload any changes from the supplied local path
            # to the remote repository
            self.upload(dest_path, local_path)

    def upload(self, remote_path, local_path):
        """Upload a local file or directory into the remote repository.
           If the given file or directory already exists in the
           repository, overwrite it.

           This function does not add or update ignored files or

src/subversion/subversion/bindings/ctypes-python/csvn/txn.py  view on Meta::CPAN


        if (os.path.isdir(local_path) and
              self.check_path(remote_path) != svn_node_dir):
            self.mkdir(remote_path)
        elif not os.path.isdir(local_path) and os.path.exists(local_path):
            self._upload_file(remote_path, local_path)

        ignores = []

        for root, dirs, files in os.walk(local_path):

src/subversion/subversion/bindings/ctypes-python/csvn/txn.py  view on Meta::CPAN


            # Add all files in this directory
            for name in files:
                remote_file = "%s/%s" % (remote_root, name)
                local_file = os.path.join(root, name)
                self._upload_file(remote_file, local_file)

    def _txn_commit_callback(self, info, baton, pool):
        self._txn_committed(info[0])

    def commit(self, message, base_rev = None):

src/subversion/subversion/bindings/ctypes-python/csvn/txn.py  view on Meta::CPAN

        self.committed_rev = info.revision
        self.committed_date = info.date
        self.committed_author = info.author
        self.post_commit_err = info.post_commit_err

    # This private function uploads a single file to the
    # remote repository. Don't use this function directly.
    # Use 'upload' instead.
    def _upload_file(self, remote_path, local_path):

        if self.ignore_func and self.ignore_func(remote_path, svn_node_file):
            return

        kind, parent = self._check_path(remote_path)

 view all matches for this distribution


Alien-SwaggerUI

 view release on metacpan or  search on metacpan

share/swagger-ui.css  view on Meta::CPAN

.swagger-ui{
  /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */font-family:sans-serif;color:#3b4151}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article...

/*# sourceMappingURL=swagger-ui.css.map*/

 view all matches for this distribution


Alien-Web-ExtJS-V3

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

share/examples/form/custom-access.js
share/examples/form/custom.html
share/examples/form/custom.js
share/examples/form/dynamic.html
share/examples/form/dynamic.js
share/examples/form/file-upload.html
share/examples/form/file-upload.js
share/examples/form/file-upload.php
share/examples/form/form-grid-access.html
share/examples/form/form-grid-access.js
share/examples/form/form-grid.html
share/examples/form/form-grid.js
share/examples/form/forms.css

MANIFEST  view on Meta::CPAN

share/examples/grouptabs/images/subscriptions.png
share/examples/grouptabs/images/templates.png
share/examples/grouptabs/images/tickets.png
share/examples/history/history.html
share/examples/history/history.js
share/examples/image-organizer/SWFUpload/Flash/swfupload.swf
share/examples/image-organizer/SWFUpload/plugins/SWFObject_License.txt
share/examples/image-organizer/SWFUpload/plugins/swfupload.cookies.js
share/examples/image-organizer/SWFUpload/plugins/swfupload.queue.js
share/examples/image-organizer/SWFUpload/plugins/swfupload.speed.js
share/examples/image-organizer/SWFUpload/plugins/swfupload.swfobject.js
share/examples/image-organizer/SWFUpload/swfupload.js
share/examples/image-organizer/SWFUpload/swfupload_license.txt
share/examples/image-organizer/images/icons/arrow_up.png
share/examples/image-organizer/images/icons/box_upload.png
share/examples/image-organizer/images/icons/cancel.png
share/examples/image-organizer/images/icons/folder_add.png
share/examples/image-organizer/images/icons/folder_add_sm.png
share/examples/image-organizer/images/icons/tag_blue_add.png
share/examples/image-organizer/images/selected.gif

MANIFEST  view on Meta::CPAN

share/examples/shared/screens/form-check-radio.gif
share/examples/shared/screens/form-composite.png
share/examples/shared/screens/form-custom-access.gif
share/examples/shared/screens/form-custom.gif
share/examples/shared/screens/form-dynamic.gif
share/examples/shared/screens/form-file-upload.gif
share/examples/shared/screens/form-grid-binding-access.gif
share/examples/shared/screens/form-grid-binding.gif
share/examples/shared/screens/form-multiselect.gif
share/examples/shared/screens/form-slider.png
share/examples/shared/screens/form-spinner.gif

MANIFEST  view on Meta::CPAN

share/examples/ux/css/PanelResizer.css
share/examples/ux/css/Portal.css
share/examples/ux/css/RowEditor.css
share/examples/ux/css/Spinner.css
share/examples/ux/css/ux-all.css
share/examples/ux/fileuploadfield/FileUploadField.js
share/examples/ux/fileuploadfield/css/fileuploadfield.css
share/examples/ux/gridfilters/GridFilters.js
share/examples/ux/gridfilters/css/GridFilters.css
share/examples/ux/gridfilters/css/RangeMenu.css
share/examples/ux/gridfilters/filter/BooleanFilter.js
share/examples/ux/gridfilters/filter/DateFilter.js

 view all matches for this distribution


Alien-Web-HalBrowser

 view release on metacpan or  search on metacpan

share/vendor/css/bootstrap.css  view on Meta::CPAN


.icon-download {
  background-position: -120px -24px;
}

.icon-upload {
  background-position: -144px -24px;
}

.icon-inbox {
  background-position: -168px -24px;

 view all matches for this distribution


Alien-XGBoost

 view release on metacpan or  search on metacpan

xgboost/ISSUE_TEMPLATE.md  view on Meta::CPAN

`xgboost` version used:

If installing from source, please provide 

1. The commit hash (`git rev-parse HEAD`)
2. Logs will be helpful (If logs are large, please upload as attachment).

If you are using jvm package, please 

1. add [jvm-packages] in the title to make it quickly be identified
2. the gcc version and distribution

 view all matches for this distribution


Alien-cares

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

libcares/test/Makefile.m32
libcares/test/Makefile.msvc
libcares/test/README.md
libcares/TODO
libcares/travis/build.sh
libcares/travis/covupload.sh
libcares/travis/distcheck.sh
libcares/travis/test.sh
libcares/vc/acountry/vc6acountry.dsp
libcares/vc/adig/vc6adig.dsp
libcares/vc/ahost/vc6ahost.dsp

 view all matches for this distribution


Alien-ckdl

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN

    my $release_postamble = <<'MAKE_FRAG';

# --- Release target -------------------------------------------------
# Usage: make release
#
# Builds and tests the dist tarball via `make disttest`, then uploads
# it to CPAN with cpan-upload (from CPAN::Uploader). Refuses to run
# if the git working tree is dirty or if a tag for the current
# $(VERSION) already exists. See RELEASING.md.

.PHONY: release release-check

Makefile.PL  view on Meta::CPAN

	}
	@if git rev-parse -q --verify "refs/tags/v$(VERSION)" >/dev/null; then \
	    echo "ERROR: tag v$(VERSION) already exists; bump \$$VERSION in lib/Alien/ckdl.pm."; \
	    exit 1; \
	fi
	@command -v cpan-upload >/dev/null 2>&1 || { \
	    echo "ERROR: cpan-upload not found in PATH; cpanm CPAN::Uploader"; \
	    exit 1; \
	}
	@test -r $(HOME)/.pause || { \
	    echo "ERROR: ~/.pause not found; see RELEASING.md for the format."; \
	    exit 1; \
	}

release :: release-check disttest
	cpan-upload $(DISTVNAME).tar.gz
	@echo
	@echo "Uploaded $(DISTVNAME).tar.gz to PAUSE."
	@echo "Next:"
	@echo "  git commit -am 'Release v$(VERSION)'"
	@echo "  git tag v$(VERSION)"

 view all matches for this distribution


Alien-libgpiod

 view release on metacpan or  search on metacpan

inc/Devel/CheckOS.pm  view on Meta::CPAN

have access to most of them and have had to work from information
gleaned from L<perlport> and a few other places.  For a complete list of
OS families, see L<Devel::CheckOS::Families>.

If you want to add your own OSes or families, see L<Devel::AssertOS::Extending>
and please feel free to upload the results to the CPAN.

=head1 BUGS and FEEDBACK

I welcome feedback about my code, including constructive criticism.
Bug reports should be made using L<https://github.com/DrHyde/perl-modules-Devel-CheckOS/issues>.

 view all matches for this distribution


Alien-libssh

 view release on metacpan or  search on metacpan

.claude/agents/alien-libssh-worker.md  view on Meta::CPAN

## Out of lane

- Do not make the share build shared (`BUILD_SHARED_LIBS=ON`) to "fix" a link
  problem — the consumer would then fail at runtime instead of at link time.
- Do not add a network `start_url` or a second tarball to `share/`.
- Never run `dzil release` or upload to CPAN. Pre-release audit goes through
  `alien-libssh-release-checker`.

 view all matches for this distribution


Alien-libui

 view release on metacpan or  search on metacpan

.github/workflows/ci.yml  view on Meta::CPAN

            echo "| All build jobs | | | No result data found. ❌ |" >> $SUMMARY_MD
          fi
          echo "}" >> $STATUS_JSON
          cat $SUMMARY_MD >> $GITHUB_STEP_SUMMARY
      - name: Upload Status Artifact for Publishing
        uses: actions/upload-artifact@v4
        with:
          name: status-files
          path: status/
  publish-status:
    name: Publish Status Page

 view all matches for this distribution


Alien-liburing

 view release on metacpan or  search on metacpan

inc/Devel/CheckOS.pm  view on Meta::CPAN

have access to most of them and have had to work from information
gleaned from L<perlport> and a few other places.  For a complete list of
OS families, see L<Devel::CheckOS::Families>.

If you want to add your own OSes or families, see L<Devel::AssertOS::Extending>
and please feel free to upload the results to the CPAN.

=head1 BUGS and FEEDBACK

I welcome feedback about my code, including constructive criticism.
Bug reports should be made using L<https://github.com/DrHyde/perl-modules-Devel-CheckOS/issues>.

 view all matches for this distribution


AllKnowingDNS

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

History file for AllKnowingDNS

1.7 2013-09-23

- upload with Module::Install > 1.04 (again, sorry about that)

1.6 2013-09-08

- fix testcase t/005-same-domain.t with newer Net::DNS

 view all matches for this distribution


Alt-CPAN-Uploader-tinyua

 view release on metacpan or  search on metacpan

lib/CPAN/Uploader.pm  view on Meta::CPAN

use strict;
use warnings;
package CPAN::Uploader;
# ABSTRACT: upload things to the CPAN
$CPAN::Uploader::VERSION = '0.103007';
=head1 ORIGIN

This code is mostly derived from C<cpan-upload-http> by Brad Fitzpatrick, which
in turn was based on C<cpan-upload> by Neil Bowers.  I (I<rjbs>) didn't want to
have to use a C<system> call to run either of those, so I refactored the code
into this module.

=cut

lib/CPAN/Uploader.pm  view on Meta::CPAN

use constant ALT => 'tinyua';

my $UPLOAD_URI = $ENV{CPAN_UPLOADER_UPLOAD_URI}
              || 'https://pause.perl.org/pause/authenquery';

=method upload_file

  CPAN::Uploader->upload_file($file, \%arg);

  $uploader->upload_file($file);

Valid arguments are:

  user       - (required) your CPAN / PAUSE id
  password   - (required) your CPAN / PAUSE password
  subdir     - the directory (under your home directory) to upload to
  http_proxy - uri of the http proxy to use
  upload_uri - uri of the upload handler; usually the default (PAUSE) is right
  debug      - if set to true, spew lots more debugging output

This method attempts to actually upload the named file to the CPAN.  It will
raise an exception on error.

=cut

sub upload_file {
  my ($self, $file, $arg) = @_;

  Carp::confess(q{don't supply %arg when calling upload_file on an object})
    if $arg and ref $self;

  # class call with no args is no good
  Carp::confess(q{need to supply %arg when calling upload_file from the class})
    if not (ref $self) and not $arg;

  $self = $self->new($arg) if $arg;

  if ($arg->{dry_run}) {
    require Data::Dumper;
    $self->log("By request, cowardly refusing to do anything at all.");
    $self->log(
      "The following arguments would have been used to upload: \n"
      . '$self: ' . Data::Dumper::Dumper($self)
      . '$file: ' . Data::Dumper::Dumper($file)
    );
  } else {
    $self->_upload($file);
  }
}

sub _ua_string {
  my ($self) = @_;

lib/CPAN/Uploader.pm  view on Meta::CPAN

  return "$class/$version";
}

sub target { shift->{target} || 'PAUSE' }

sub _upload {
  my $self = shift;
  my $file = shift;

  $self->log("registering upload with " . $self->target . " web server");

  my $agent = HTTP::Tiny::UA->new(
    agent => $self->_ua_string,
    ($self->{http_proxy} ? (http_proxy => $self->{http_proxy}) : ()),
  );

  my $uri = URI->new($self->{upload_uri} || $UPLOAD_URI);
  $uri->userinfo(join ':', $self->{user}, $self->{password});

  # Make the request to the PAUSE web server
  $self->log("POSTing upload for $file to $uri");
  my $response = $agent->post_multipart($uri, {
    HIDDENNAME                        => $self->{user},
    CAN_MULTIPART                     => 1,
    pause99_add_uri_upload            => File::Basename::basename($file),
    SUBMIT_pause99_add_uri_httpupload => " Upload this file from my disk ",
    pause99_add_uri_uri               => "",
    pause99_add_uri_httpupload        => {
      filename => $file,
      content  => do {open my $fh, '<', $file; binmode $fh; local $/ = <$fh>},
    },
    ($self->{subdir} ? (pause99_add_uri_subdirtext => $self->{subdir}) : ()),
  });

lib/CPAN/Uploader.pm  view on Meta::CPAN

}


=method new

  my $uploader = CPAN::Uploader->new(\%arg);

This method returns a new uploader.  You probably don't need to worry about
this method.

Valid arguments are the same as those to C<upload_file>.

=cut

sub new {
  my ($class, $arg) = @_;

lib/CPAN/Uploader.pm  view on Meta::CPAN

used as configuration for CPAN::Uploader.

If no filename is given, it looks for F<.pause> in the user's home directory
(from the env var C<HOME>, or the current directory if C<HOME> isn't set).

See L<cpan-upload/CONFIGURATION> for the config format.

=cut

sub read_config_file {
  my ($class, $filename) = @_;

lib/CPAN/Uploader.pm  view on Meta::CPAN

  return \%conf;
}

=method log

  $uploader->log($message);

This method logs the given string.  The default behavior is to print it to the
screen.  The message should not end in a newline, as one will be added as
needed.

 view all matches for this distribution


Alt-IO-All-new

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

    This is a rewrite of the infamous IO::All. The new design is detailed
    below.

STATUS
    This is a very early release. It's just barely operational. Enough to
    upload to CPAN under the new experimental "Alt-" namespace.

"IO::ALL" DESIGN
    This is a design document for an upcoming version of IO::All.

    IO::All is a Perl module that attempts to make all Input/Output

 view all matches for this distribution


Alzabo

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


---------------------------------------------------------------------------

0.56

Had to become 0.57 cause I was too hasty in uploading to CPAN.  Doh!

---------------------------------------------------------------------------

0.55 Sep 24, 2001

 view all matches for this distribution


Amazon-MWS

 view release on metacpan or  search on metacpan

lib/Amazon/MWS.pm  view on Meta::CPAN

For the high level methods provided by the L<Amazon::MWS::Uploader>
you are going to need to supply database storage.

=head2 Uploading products

Basically you take the products which need to be uploaded to Amazon
and create L<Amazon::MWS::XML::Product> objects from them:

    use Amazon::MWS::XML::Product;
    use Amazon::MWS::Uploader;
    use Try::Tiny;

    my @upload;

    foreach my $product_object (@send_to_amazon) {
        my %prod = ....

        try {
            my $product = Amazon::MWS::XML::Product->new(%prod);
            push @upload, $product;
        } catch {
            warn "Failure with $prod{sku} : $_";
        };
     }

Now you create an L<Amazon::MWS::XML::Uploader> object and do the
actual upload.

    my $uploader = Amazon::MWS::XML::Uploader->new(...);

    try {
        $uploader->products(\@upload);
        $uploader->upload;
    } catch {
        die "Uploader failure with: $_";
    };

A product upload goes through the following steps:

=over 4

=item product

lib/Amazon/MWS.pm  view on Meta::CPAN


Product variants (optional).

=back

You are not by any means finished with the upload, see L</Resume uploads>.

=head2 Delete products

Deleting products is much more straightforward, but you have still to
care of tracking the upload process, see again L</Resume uploads>.

    my $uploader = Amazon::MWS::Uploader->new(...);
    $uploader->delete_skus(@skus);

=head2 Resume uploads

This is necessary to check whether the upload has been
processed by Amazon.

    my $uploader = Amazon::MWS::XML::Uploader->new(...);
    $uploader->resume;

The uploader also goes automatically through the steps for the
product uploads.

=head1 MWS in practice

=head2 Product price

Every product uploaded needs a price of 0.01 or higher, otherwise you
get the following error:

    0.00 price (standard or sales) will not be accepted.
    Please ensure that every SKU in your feed has a price at least equal to or greater than 0.01

lib/Amazon/MWS.pm  view on Meta::CPAN

You need to configure the shipping costs in Amazon Seller Central, you can't pass them
through MWS:

L<https://sellercentral.amazon.com/gp/shipping/dispatch.html>

=head2 Stuck uploads

There is no guarantee that Amazon finishes your uploads at all. We had uploads
stuck for at least a week.

=head2 Multiple marketplaces

You can use this module and the uploader for multiple Amazon marketplaces.
Please make sure that you disable Amazon's synchronisation between marketplaces.

For marketplaces with a different currency you need to convert your price first.

The list of marketplaces can be found at:

L<http://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html>

=head2 Throttling and Quota

With Amazon MWS you have to deal with Amazon throttling your uploads and
imposing quotas.

Possible reasons:

=over 4

=item Upload too often

=item Stuck uploads

=item Orders with orderlines

=back

lib/Amazon/MWS.pm  view on Meta::CPAN


Brand is a required field for products.

=head1 Uploader Module

L<Amazon::MWS::Uploader> is an upload agent for Amazon::MWS.

=head1 XML Modules

=over 4

 view all matches for this distribution


Amazon-S3-FastUploader

 view release on metacpan or  search on metacpan

lib/Amazon/S3/FastUploader.pm  view on Meta::CPAN

    my $config = shift;
    bless { config => $config }, $class;
}


sub upload {

    my $self = shift;
    my $local_dir = shift;
    my $bucket_name = shift;
    my $target_dir = shift;

lib/Amazon/S3/FastUploader.pm  view on Meta::CPAN


    chdir $local_dir;
    find($callback, '.');

    if ($process > 1) {
        $self->_upload_parallel(\@local_files, $process);
    } else {
        $self->_upload_single(\@local_files);
    }
}

sub _upload_single {
    my $self = shift;
    my @files = @{ shift; };

    $self->_print("uploading by a single process\n");

    my $i = 0;
    my $total_num = @files;

    for my $file (@files) {
        $i++;

        $file->upload();
        $self->_print("ok    $i / $total_num " .  $file->from_to . "\n");

    }

    $self->_print(sprintf("%d files uploaded\n" , $i));
}

sub _upload_parallel {
    my $self = shift;
    my @files = @{ shift; };
    my $max = shift;

    $self->_print("uploading by multi processes\n");

    my $pm = new Parallel::ForkManager($max);
    $pm->run_on_finish(
        sub {
            my ($pid, $exit_code, $ident) = @_;

lib/Amazon/S3/FastUploader.pm  view on Meta::CPAN


    for my $file (@files) {
        $i++;

        $pm->start and next;
        $file->upload();
        $self->_print("ok    $i / $total_num " .  $file->from_to . "\n");

        $pm->finish;
        $i++;
    }

    $pm->wait_all_children;
    my $count = @files;
    $self->_print(sprintf("%d files uploaded\n" , $count));
}

sub _print {
    my $self = shift;
    return unless $self->config->{verbose};

lib/Amazon/S3/FastUploader.pm  view on Meta::CPAN

}


=head1 NAME

Amazon::S3::FastUploader -  fast uploader to Amazon S3


=head1 SYNOPSIS

By this module, you can upload many files to Amazon S3 at the same time
 (in another word, in parallel) .
The module uses Parallel::ForkManager internally.


    use Amazon::S3::FastUploader;

    my $local_dir = '/path/to/dir/';
    my $bucket_name = 'myubcket';
    my $remote_dir '/path/to/dir/';
    my $uploader = Amazon::S3::FastUploader->new({
        aws_access_key_id => 'your_key_id',
        aws_secret_access_key => 'your_secre_key',
        process => 10, # num of proccesses in parallel
        secure  => 1,  # use SSL
        encrypt => 1,  # use ServerSide Encryption
        retry   => 5,
        verbose => 1,  # print log to stdout
        acl_short => 'public-read',  # private if ommited
    });

    $uploader->upload($local_dir, $bucket_name, $remote_dir);

=head1 METHODS

=head2 new

Instaniates a new object. 

Requires a hashref


=head2 upload $local_dir  $bucket_name  $remote_dir

upload recursively $local_dir to $remote_dir


=head1 AUTHOR

DQNEO, C<< <dqneoo at gmail.com> >>

lib/Amazon/S3/FastUploader.pm  view on Meta::CPAN


Forks & Pull Requests are wellcome!

=head1 BUGS

Please report any bugs or feature requests to C<bug-amazon-s3-fastuploader at rt.cpan.org>, or through
the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Amazon-S3-FastUploader>.  I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.



 view all matches for this distribution


Amazon-S3-Lite

 view release on metacpan or  search on metacpan

lib/Amazon/S3/Lite.pm  view on Meta::CPAN

  # Configure a Lambda notification trigger
  $s3->put_bucket_notification_configuration('my-bucket',
    type       => 'lambda',
    lambda_arn => $function_arn,
    events     => 's3:ObjectCreated:*',
    filters    => { prefix => 'uploads/' },
  );

  # Configure an SQS notification trigger
  $s3->put_bucket_notification_configuration('my-bucket',
    type      => 'sqs',

lib/Amazon/S3/Lite.pm  view on Meta::CPAN

the libwww-perl ecosystem. The dependency list is intentionally small,
making it well-suited for Lambda container images where minimizing
cold-start time and image size matters.

It is not a replacement for L<Amazon::S3> or L<Net::Amazon::S3>, which
support the full S3 API surface including multipart upload, bucket
management, ACLs, versioning, and presigned URLs. If you need those
features, use one of those distributions instead.

L<Amazon::S3::Thin> is another excellent lightweight S3 client with a
similar philosophy and a longer track record. It is more complete than

lib/Amazon/S3/Lite.pm  view on Meta::CPAN

  # SQS trigger
  $s3->put_bucket_notification_configuration($bucket,
    type      => 'sqs',
    queue_arn => $queue_arn,
    events    => [qw(s3:ObjectCreated:* s3:ObjectRemoved:*)],
    filters   => { prefix => 'uploads/', suffix => '.csv' },
  );

Sets the bucket notification configuration for C<$bucket>, routing
S3 events to a Lambda function or SQS queue.

 view all matches for this distribution


Amazon-S3-Thin

 view release on metacpan or  search on metacpan

lib/Amazon/S3/Thin.pm  view on Meta::CPAN


=item 1. bucket - a string with the destination bucket

=item 2. key - a string with the destination key

=item 3. content - a string with the content to be uploaded

=item 4. headers (B<optional>) - hashref with extra header information

=back

lib/Amazon/S3/Thin.pm  view on Meta::CPAN

=back

B<Returns>: a hashref with two elements C<url> and C<fields>. C<url> is the url to post to. C<fields> is an arrayref
filled with the form fields and respective values to use when submitting the post. (You must follow the order of C<fields>)

This method generates presigned url for uploading a file to Amazon S3 using HTTP POST.
The original implementation from boto3, this was transplanted referencing L<< S3Client.generate_presigned_post()|https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.generate_presigned_post >>.

Note: this method is supported only signature v4.

This is an example of generating a presigned url and uploading C<test.txt> file.
In this case, you can set the object metadata C<x-amz-meta-foo> with any value and the uploading size is limited to 1MB.

    my $presigned = $s3->generate_presigned_post('my.bucket', 'my/key.ext', [
        'x-amz-meta-foo' => 'bar',
    ], [
        ['starts-with' => '$x-amz-meta-foo', ''],

 view all matches for this distribution


Amazon-S3

 view release on metacpan or  search on metacpan

lib/Amazon/S3.pm  view on Meta::CPAN

    if !$self->retry;

  # In the field we are seeing issue of Amazon returning with a 400
  # code in the case of timeout.  From AWS S3 logs: REST.PUT.PART
  # Backups/2017-05-04/<account>.tar.gz "PUT
  # /Backups<path>?partNumber=27&uploadId=<id> - HTTP/1.1" 400
  # RequestTimeout 360 20971520 20478 - "-" "libwww-perl/6.15"
  my $http_codes_hr = $self->ua->codes_to_determinate();
  $http_codes_hr->{$HTTP_BAD_REQUEST} = $TRUE;

  return;

lib/Amazon/S3.pm  view on Meta::CPAN

    if !$self->retry;

  # In the field we are seeing issue with Amazon returning a 400
  # code in the case of timeout.  From AWS S3 logs: REST.PUT.PART
  # Backups/2017-05-04/<account>.tar.gz "PUT
  # /Backups<path>?partNumber=27&uploadId=<id> - HTTP/1.1" 400
  # RequestTimeout 360 20971520 20478 - "-" "libwww-perl/6.15"
  my $http_codes_hr = $self->ua->codes_to_determinate();
  delete $http_codes_hr->{$HTTP_BAD_REQUEST};

  return;

lib/Amazon/S3.pm  view on Meta::CPAN

  #  $buf .= "/$1";
  $path =~ /\A([^?]*)/xsm;
  $buf .= "/$1";

  # ...unless there any parameters we're interested in...
  if ( $path =~ /[&?](acl|torrent|location|uploads|delete)([=&]|$)/xsm ) {
    #  if ( $path =~ /[&?](acl|torrent|location|uploads|delete)([=&])?/xsm ) {
    $buf .= "?$1";
  }
  elsif ( my %query_params = URI->new($path)->query_form ) {
    # see if the remaining parsed query string provides us with any
    # query string or upload id

    if ( $query_params{partNumber} && $query_params{uploadId} ) {
      # re-evaluate query string, the order of the params is important
      # for request signing, so we can't depend on URI to do the right
      # thing
      $buf .= sprintf '?partNumber=%s&uploadId=%s',
        $query_params{partNumber},
        $query_params{uploadId};
    }
    elsif ( $query_params{uploadId} ) {
      $buf .= sprintf '?uploadId=%s', $query_params{uploadId};
    }
  }

  return $buf;
}

lib/Amazon/S3.pm  view on Meta::CPAN


=item list_bucket

=item list_object_versions

=item upload_multipart_object

=back

=back

lib/Amazon/S3.pm  view on Meta::CPAN


=back

=item Multipart Upload Support

There are some recently added unit tests for multipart uploads that
seem to indicate this feature is working as expected.  Please report
any deviation from expected results if you are using those methods.

For more information regarding multipart uploads visit the link below.

L<https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html>

=back

 view all matches for this distribution


Amazon-S3Curl-PurePerl

 view release on metacpan or  search on metacpan

lib/Amazon/S3Curl/PurePerl.pm  view on Meta::CPAN

    my $args = $self->_req('GET');
    push @$args, ( "-o", $self->local_file );
    return $args;
}

sub upload_cmd {
    my ($self) = @_;
    my $url = $self->url;
    #trailing slash for upload means curl will plop on the filename at the end, ruining the hash signature.
    if ( $url =~ m|/$| ) {
        my $file_name = ( File::Spec->splitpath( $self->local_file ) )[-1];
        $url .= $file_name;
    }
    my $args = $self->_req('PUT',$url);

lib/Amazon/S3Curl/PurePerl.pm  view on Meta::CPAN


sub download {
    return shift->_exec("download");
}

sub upload {
    return shift->_exec("upload");
}

sub delete {
    return shift->_exec("delete");
}

lib/Amazon/S3Curl/PurePerl.pm  view on Meta::CPAN

          unless shift->local_file;
    };
}

before download => _local_file_required('download');
before upload => _local_file_required('upload');
1;
__END__

=head1 NAME

lib/Amazon/S3Curl/PurePerl.pm  view on Meta::CPAN


=item aws_secret_key ( required )

=item url ( required )

This is the (url to download|upload to|delete).
It should be a relative path with the bucket name, and whatever pseudopaths you want.

For upload:
Left with a trailing slash, it'll DWYM, curl style.

=item local_file

This is the (path to download to|file to upload).

=back


=head1 METHODS

lib/Amazon/S3Curl/PurePerl.pm  view on Meta::CPAN


    $s3curl->download;

download url to local_file.

=head2 upload

    $s3curl->upload;

Upload local_file to url.

=head2 delete

lib/Amazon/S3Curl/PurePerl.pm  view on Meta::CPAN


=head2 delete_cmd

=head2 download_cmd

=head2 upload_cmd

Just get the command to execute in the form of an arrayref, don't actually execute it:

    my $cmd = $s3curl->download_cmd;
    system(@$cmd);

 view all matches for this distribution


Amazon-SecretsManager

 view release on metacpan or  search on metacpan

ChangeLog  view on Meta::CPAN

	* buildspec.yml: new
	* configure.ac: new
	* cpan/Makefile.am: new
	* cpan/buildspec.yml: new
	* cpan/extra-files: new
	* cpan/upload-instructions: new
	* perl-Amazon-SecretsManager.spec.in: new
	* src/Makefile.am: new
	* src/main/Makefile.am: new
	* src/main/perl/Makefile.am: new
	* src/main/perl/lib/Amazon/SecretsManager.pm.in: new

 view all matches for this distribution


Amazon-Signature4-Lite

 view release on metacpan or  search on metacpan

t/02-s3-path-encoding.t  view on Meta::CPAN

## '%2523S3.pm.in%2523' in the canonical request, so the signature no
## longer matches the wire path and S3 returns SignatureDoesNotMatch.
##
## This bites only keys containing reserved characters (#, space, %, ...);
## plain keys are unaffected because encoding is idempotent on the
## unreserved set -- which is why ordinary uploads work and an Emacs
## auto-save file (#name#) fails.

use strict;
use warnings;

t/02-s3-path-encoding.t  view on Meta::CPAN


# --- a plain key is unaffected either way (idempotent encoding) ---
{
  my $plain = '/lib/OrePAN2/S3.pm';
  is( Amazon::Signature4::Lite::_encode_path($plain), $plain,
    'plain keys are unchanged by _encode_path (why ordinary uploads work)' );
}

done_testing;

 view all matches for this distribution


AmberDB

 view release on metacpan or  search on metacpan

docs/EN.AmberDB_User-Guide.md  view on Meta::CPAN

| `textarea` | Textarea | Multi-line plain text box `<textarea>`. |
| `summernote` | Summernote | Rich WYSIWYG HTML visual editor for articles/descriptions. |
| `select` | Dropdown Select | Single-selection dropdown list `<select>`. |
| `checkbox` | Checkbox | Multi-selection checkboxes `<input type="checkbox">` (Use `type => "num"` for Boolean). |
| `radio` | Radio Buttons | Single-selection radio options `<input type="radio">`. |
| `file` | File Upload | Attachment or image file uploader `<input type="file">`. |
| `hidden` | Hidden Field | Hidden form element `<input type="hidden">` (for primary IDs). |
| `email` | Email Input | HTML5 email input field `<input type="email">`. |
| `ascii` | ASCII Field | User/code input box constrained to ASCII charset. |
| `number` | Number Input | Numeric stepper `<input type="number">`. |
| `date` | Date Picker | Interactive date calendar selector `<input type="date">`. |

 view all matches for this distribution


( run in 3.568 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )